for循环事件绑定

for(var i=0;i<5;i++)

{

    aBtn[i].onclick=function ()

{

    alert(i);

    }

}

为什么每次弹出来都是5?

去看天荒地老
浏览 1391回答 2
2回答

回夢

因为你alert的i是全局变量。去了解下关于闭包的东西。如果用ES6的语法,把var i改为let i 就不会有问题。

Joy_Sang

for(var i=0;i<5; i++){    (function(i){         aBtn[i].onclick = function(){             alert(i);         }    })(i); }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript