2 回答
TA貢獻(xiàn)1863條經(jīng)驗(yàn) 獲得超2個(gè)贊
那個(gè)unfinished是undefined吧。
<onclick=“”> 這個(gè)雙引號里面的closure是誰我還真沒想過,不過我記得如果這么寫的話this是那個(gè)input <input ... onclick="alert(this)">,根據(jù)這樣,估計(jì)可以可以這么理解
button.onclick= function() {
a();
}
然后b里面的this是window
如果你這么寫a
function a() {
this.b();
}
那么b里面的this就是那個(gè)input了。
沒指定誰“點(diǎn)”b函數(shù),就是windows.b()。
這是javascript里比較迷惑的地方,javascript并沒有明確的類的定義,用函數(shù)模擬類只不過是借用了其中閉包的概念。
不好意思,這里雖然我自己理解了,但是有些術(shù)語我也不知道怎么說。
TA貢獻(xiàn)1936條經(jīng)驗(yàn) 獲得超7個(gè)贊
onclick="a()"相當(dāng)于:
假設(shè)btn是input這個(gè)對象
btn.onclick=a;
當(dāng)點(diǎn)擊的時(shí)候,實(shí)際上是掉用的btn.onclick(),所以這個(gè)函數(shù)調(diào)用是有this指針的,指向btn這個(gè)對象
在javascript里面直接調(diào)用一個(gè)函數(shù)的時(shí)候,就是前面沒有點(diǎn),都認(rèn)為this是window
添加回答
舉報(bào)
