这段代码点击a链接,弹出的都是4,我可以理解i是全局变量,为什么会加到4,for循环里边的i明明加到了3,那跑出来的4?
<a href="" id="1">1</a>
<a href="" id="2">2</a>
<a href="" id="3">3</a>
for (var i = 1; i <= 3; i++) {
var ele = document.getElementById(i);
alert(i);
ele.onclick = function(e) {
e.preventDefault();
alert(i);
}
}
1.和i是否是全局变量无关,放在函数作用域下依旧是4
2 因为for循环是执行i++后再去执行的i<=3的逻辑判断