第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

為什么要用this.style不直接用tr[i].style呢?

function?changeColor(){
?????????var?tbody=document.getElementById("table").lastChild;
?????????var?tr=tbody.getElementsByTagName('tr');
?????????var?len=tr.length;
?????????for(var?i=0;i<len;i++){
?????????????tr[i].onmouseover?=?function(){
??????????????alert(this);
?????????????????this.style.backgroundColor="#f2f2f2";
?????????????}
?????????????tr[i].onmouseout?=?function(){this.style.backgroundColor="#fff";
???????????}
?????????}
?????}

在上面的代碼中為什么不能寫(xiě)tr[i].style,有點(diǎn)理解不了了

正在回答

3 回答

我也有疑問(wèn),還有一點(diǎn)不懂,這段函數(shù)是要預(yù)編譯么?為什么for()循環(huán)的i會(huì)是最后的len值,正常的for()循環(huán)是不是也是這樣的?

0 回復(fù) 有任何疑惑可以回復(fù)我~

我又翻了下書(shū),然后我的理解是function(){

? ? ? ? ? ? ? alert(this);

? ? ? ? ? ? ? ? ?this.style.backgroundColor="#f2f2f2";

? ? ? ? ? ? ?}是一個(gè)函數(shù)閉包,此時(shí)在這個(gè)函數(shù)里面調(diào)用i應(yīng)該是最后的一個(gè)值即是len也就是3,而tr[i]就是tr[len],相當(dāng)于個(gè)tr這個(gè)數(shù)組新增加了一項(xiàng)默認(rèn)值為undefined.在這里function(){this.style.backgroundColor="#fff";

? ? ? ? ? ?}是作為tr[i]這個(gè)對(duì)象的onmouseout屬性的值,也就是給tr[i]這個(gè)對(duì)象添加了一個(gè)方法。當(dāng)函數(shù)被作為某個(gè)對(duì)象的方法調(diào)用時(shí),this等于那個(gè)對(duì)象。


0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

qq_夜舞天狼

我也有疑問(wèn),還有一點(diǎn)不懂,這段函數(shù)是要預(yù)編譯么?為什么for()循環(huán)的i會(huì)是最后的len值,正常的for()循環(huán)是不是也是這樣的?
2016-06-02 回復(fù) 有任何疑惑可以回復(fù)我~

因?yàn)槟莻€(gè)地方是添加事件,那個(gè)事件函數(shù)并沒(méi)有執(zhí)行,點(diǎn)擊執(zhí)行的時(shí)候函數(shù)體就只有this這個(gè)變量,沒(méi)定義tr[i];

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

jinleli 提問(wèn)者

你可以看下我下面的回答,這是我看書(shū)后的理解
2016-05-25 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

為什么要用this.style不直接用tr[i].style呢?

我要回答 關(guān)注問(wèn)題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)