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

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么我這么寫不對,this在這里什么意思

?for(var i= 0,len = oLis.length;i<len;i++){

? ? ? ? ? ? ? ? ?oLis[i].index = i;

? ? ? ? ? ? ? ? ?oLis[i].onclick = function() {

? ? ? ? ? ? ? ? ? ? ?for(var n= 0;n<len;n++){

? ? ? ? ? ? ? ? ? ? ? ? ?oLis[n].className = "";

? ? ? ? ? ? ? ? ? ? ? ? ?oDivs[n].className = "hide";

? ? ? ? ? ? ? ? ? ? ?}

oLis[i].className="on";

oDivs[i].className="";

? ? ? ? ? ? ? ? ? ?// ?this.className = "on";

? ? ? ? ? ? ? ? ? ? ?//oDivs[this.index].className = "";

? ? ? ? ? ? ? ? ?}


正在回答

2 回答

?for(var i= 0,len = oLis.length;i<len;i++) 分號寫成逗號

0 回復 有任何疑惑可以回復我~

oLis[i].className="on";

oDivs[i].className="";

給節(jié)點綁定事件執(zhí)行的函數(shù)會執(zhí)行上面那兩句,那問題是執(zhí)行時i是什么?很明顯當你要執(zhí)行代碼時,for已經(jīng)執(zhí)行完(因為事件全部綁定),所以i恒定為oLis.length,所以oLis[i]和oDivs[i]是沒有的,所以出錯

this在這里是指觸發(fā)函數(shù)的對象,比如<p onclick="fun()" id="na"></p> 假如p被點擊,觸發(fā)fun函數(shù)對象就是p,現(xiàn)在

this 等價于 document.getElementById("na")

0 回復 有任何疑惑可以回復我~
#1

小菜鳥飛 提問者

為什么for執(zhí)行完了呀 里邊的for執(zhí)行完了,可是外邊的還沒有啊
2016-08-12 回復 有任何疑惑可以回復我~
#2

水里有條魚 回復 小菜鳥飛 提問者

for就是執(zhí)行完了,這么短的循環(huán),js里面在for里定義的數(shù)是可以在外面是用的,就是i,i在for執(zhí)行完后還會存在,并且等于最后值, oLis[i].onclick = function() {//代碼}只是綁定事件,以及定義函數(shù),真正執(zhí)行代碼是在事件觸發(fā)時,在這里 for(){oLis[i].onclick = function() {}} 等價 for(){oLis[i].onclick = hanshu();} hanshu(){//代碼};
2016-08-12 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么我這么寫不對,this在這里什么意思

我要回答 關注問題
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號