标签:for循环事件绑定
var a = 5;for(var i = 0;i<a ;i++){
imglist [ i ].onclick = function(){
console.log(i)
}
}
当我们进行点击操作会发现 控制台打印出来的 不是每个标签对应的index 而一直都是最后一个标签对应的index
为什么会出现这种情况?
其实此时的 i 是全局变量 点击函数只有在执行的时候才会去查找 i 值
首先会在点击函数内部查找, 而 i 没有定义 再到函数外部去查找,此时有定义,但此时 i 已经循环完毕,因此,无论点哪个标签,弹出的都是最后一个标签的index。
标签:for循环事件绑定
原文地址:http://blog.51cto.com/13550695/2106649