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