傳遞函數(shù)的this的問題
傳遞函數(shù)中的this具體指的是什么?是內(nèi)容、ID還是什么呢?是不是有了this就相當(dāng)于document.getElmentById("#");直接后面賦值就行了呢?this.style.display
傳遞函數(shù)中的this具體指的是什么?是內(nèi)容、ID還是什么呢?是不是有了this就相當(dāng)于document.getElmentById("#");直接后面賦值就行了呢?this.style.display
2015-12-19
舉報
2016-08-20
http://blog.csdn.net/qietingfengdeyanse/article/details/47663131
這文章能解決this的問題,后邊部分
2016-04-03
this就是指調(diào)用這個函數(shù)的對象
2015-12-19
this就是一個引用,它指向一個內(nèi)部對象,例如你所說的內(nèi)容、ID等等都可以是一個包裝對象。不懂包裝對象的話你可以這樣理解:
觀察上面的代碼你可以發(fā)現(xiàn),s明明是一個字符串,字符串怎么有資格設(shè)置屬性呢對吧?但是你直接賦予字符串s一個len的屬性,引擎也不會報錯,因為引擎在執(zhí)行這行代碼的時候創(chuàng)建了一個臨時對象(要區(qū)分開:這個臨時對象是另外一個對象,并不是說把字符串s轉(zhuǎn)換成了對象),并生成一個s.len的引用,這個引用就指向這個臨時對象,同時你通過“=4”這段代碼給這個臨時對象賦予了一個值為4的len屬性,隨即就銷毀這個對象。然后你會發(fā)現(xiàn)第3行代碼輸出undefined了,因為s的臨時對象已經(jīng)消亡了。分析到這里,相信你已經(jīng)了解包裝對象和this了。
你后面寫的this.style.display很好理解了,假設(shè)你要調(diào)用的是一個標(biāo)簽,那么這里就是產(chǎn)生那個標(biāo)簽的臨時對象,并修改那個標(biāo)簽的display屬性,假設(shè)你this指向了一個p標(biāo)簽,this.style.display("block");就可以將這個p標(biāo)簽轉(zhuǎn)變成塊級元素
2015-12-19
在JavaScript中,this通常指向的是我們正在執(zhí)行的函數(shù)本身,或者是指向該函數(shù)所屬的對象(運行時)。當(dāng)我們在頁面中定義了函數(shù) doSomething()的時候,它的owner是頁面,或者是JavaScript中的window對象(或 global對象)。對于一個onclick屬性,它為它所屬的HTML元素所擁有,this應(yīng)該指向該HTML元素。