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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JS中 for循環(huán)后 值i的問題

JS中 for循環(huán)后 值i的問題

KokoTa 2016-01-17 23:16:32
以下代碼可以獲得正確的循環(huán)時i的值(0,1,2,3):document.body.onclick=function(){ for(var i=0;i<4;i++){ !function(i){ var o = document.getElementById(i); o.onmouseover=function(){ alert(i); } alert(i); }(i); }但是稍微改動一下后,i的值為最終值(4,4,4,4):document.body.onclick=function(){ for(var i=0;i<4;i++){ var o = document.getElementById(i); o.onmouseover=function(){ alert(i); } alert(i); }請問一下這是為什么??糾結(jié)了好久??!
查看完整描述

3 回答

已采納
?
Lyong

TA貢獻23條經(jīng)驗 獲得超16個贊

第一次:for循環(huán)嵌套 ?自動函數(shù), i從0-3 ?執(zhí)行四次,每次執(zhí)行,自執(zhí)行函數(shù)也會跟著執(zhí)行,也就會按照i值的不同,給不同的節(jié)點,綁定不同的事件,所有最后當你出發(fā)不同的節(jié)點的時候,可以跳出不同的值。

第二次:直接for循環(huán),最后i = 4,for循環(huán)結(jié)束,var o = document.getElementById(i); ?這個執(zhí)行了四次,所有每個節(jié)點都綁定了時間,但i的值卻沒有傳入onmouseover事件作用域,所有最后出發(fā),回往上查找i的值,找到的都是i = 4;

查看完整回答
1 反對 回復 2016-01-18
?
賣火柴的小舒

TA貢獻42條經(jīng)驗 獲得超16個贊

后面那段會把循環(huán)體的語句循環(huán)四遍之后,再把變量i的值轉(zhuǎn)換成常量。這時i的值已經(jīng)是4了,也就是說你給ID為4的元素綁定了四次事件。而函數(shù)每次調(diào)用哪里,每次執(zhí)行一次就馬上調(diào)用一次,并且把當前的i傳進去。所以就是0,1,2,3。大概的道理就是這樣,感覺自己道行有點不夠,所以解釋不咋清楚。一定等大神的解釋吧!

查看完整回答
反對 回復 2016-01-18
  • 3 回答
  • 0 關注
  • 7377 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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