老師能跟我們詳細講一下閉包的概念嗎,像課程當(dāng)中 循環(huán)中i的值

Sunshine518
2014-10-07
3 回答
舉報
0/150
提交
取消
老師能跟我們詳細講一下閉包的概念嗎,像課程當(dāng)中 循環(huán)中i的值
2014-10-07
舉報
2016-03-18
var list = document.getElementsByTagName('li');
for(var i = 0;i<10;i++){
//list[i]這里的i是立即執(zhí)行的,每次循環(huán)都把當(dāng)此的i值代進去了。
list[i].onclick = functition(){
alert(i);//函數(shù)沒有立即執(zhí)行,當(dāng)函數(shù)執(zhí)行的時候for循環(huán)已經(jīng)完成了,i就是結(jié)束那個值,所以就是訪問最后一個了。
}
}
所以就要把每次i的值都保存起來??梢允褂媚涿瘮?shù)。
(function(i){
list[i].onclick = functition(){
alert(i);
}
})(i)
網(wǎng)易云課堂里面的妙味課堂里面有閉包的講解。
2014-10-07
建議先看一下作用域鏈,了解了這個就能懂閉包了。
2014-10-07
h0=i是循環(huán)當(dāng)中最后一個值,而lis[i]卻可以是0,1,2...這樣循環(huán)呢