老师能跟我们详细讲一下闭包的概念吗,像课程当中 循环中i的值
4 回答
var list = document.getElementsByTagName('li');
for(var i = 0;i<10;i++){
//list[i]这里的i是立即执行的,每次循环都把当此的i值代进去了。
list[i].onclick = functition(){
alert(i);//函数没有立即执行,当函数执行的时候for循环已经完成了,i就是结束那个值,所以就是访问最后一个了。
}
}
所以就要把每次i的值都保存起来。可以使用匿名函数。
(function(i){
list[i].onclick = functition(){
alert(i);
}
})(i)
网易云课堂里面的妙味课堂里面有闭包的讲解。
举报
0/150
提交
取消