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

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

請問以下代碼中,為什么我把循環(huán)當(dāng)中的this改為as[i]就沒有效果了啊,按理說應(yīng)該是一樣的道理啊

// 滑過滑過、離開、點(diǎn)擊每個(gè)選項(xiàng)時(shí)

? ? ? // 執(zhí)行腳本

? ? for(var i=0;i<as.length;i++){

? ? ? ? as[i].onmouseover=function(){

? ? ? ? ? ? this.style.background='#456';

? ? ? ? }

? ? ? ? as[i].onmouseout=function(){

? ? ? ? ? ? this.style.background='#fff';

? ? ? ? }

? ? ? ??

? ? }


正在回答

3 回答

你把代碼改成這樣

as[i].onmouseover=function(){
????this.style.background='#456';
????alert(i);
}

看看彈出的i是不是循環(huán)里一直增長的值就知道為什么了,如果非要用as[i],可以試下這么寫

(function(i){
????as[i].onmouseover=function(){
????????as[i].style.background='#456';
????}
}(i));


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

糖果罐 提問者

為什么彈出的i是啊5啊
2015-12-27 回復(fù) 有任何疑惑可以回復(fù)我~
#2

糖果罐 提問者

也不明白下面那種寫法是什么寫法啊
2015-12-27 回復(fù) 有任何疑惑可以回復(fù)我~
#3

李曉健 回復(fù) 糖果罐 提問者

就是閉包,你可以找一下相關(guān)資料了解了一下
2015-12-27 回復(fù) 有任何疑惑可以回復(fù)我~
#4

糖果罐 提問者 回復(fù) 李曉健

好,我去查一查
2015-12-27 回復(fù) 有任何疑惑可以回復(fù)我~
#5

糖果罐 提問者 回復(fù) 李曉健

恩,大概明白一點(diǎn)了,以為閉包,只能取到最外層循環(huán)的最后一個(gè)值,用一個(gè)匿名函數(shù)可以解決
2015-12-27 回復(fù) 有任何疑惑可以回復(fù)我~
#6

糖果罐 提問者

非常感謝!
2015-12-31 回復(fù) 有任何疑惑可以回復(fù)我~
查看3條回復(fù)

是這樣的,你只是使用循環(huán)對(duì)a這個(gè)序列添加事件,所以當(dāng)你點(diǎn)擊的時(shí)候a的任意一個(gè)元素的時(shí)候,每個(gè)元素的事件早就添加完了。也就是說這時(shí)候的事件處理函數(shù)中的i等于序列的長度-1,而不會(huì)等于你點(diǎn)擊那個(gè)元素在序列中的索引號(hào)。

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

你百度下“閉包問題”就明白了

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

糖果罐 提問者

好,我去查查
2015-12-27 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

請問以下代碼中,為什么我把循環(huán)當(dāng)中的this改為as[i]就沒有效果了啊,按理說應(yīng)該是一樣的道理啊

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

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

幫助反饋 APP下載

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

公眾號(hào)

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