日期:2014-05-16  浏览次数:20359 次

请教关于function和变量的问题
for(i=0; i<5; i++){
aLi[i].onclick=function(){
alert(i);
}
}

小白请教下,为什么alert()出来的i是5而不是和点击的aLi[i]里的i值一样??求原理解释。

------解决方案--------------------
这个基本是每个闭包教程都会举的例子,你查一下吧。
------解决方案--------------------
程序就一个i,循环完之后就是5了,所以alert(i)就是5,onclick只是触发这个alert,又不修改i
------解决方案--------------------
学习一下闭包