JavaScript变量绑定和循环
考虑这样的循环:
for(var it = 0; it < 2; it++){
setTimeout(function() {
alert(it);
}, 1);}输出是:
=> 2=> 2
我希望它是:0,1。我看到两种方法来解决它:
解决方案#1。
这个基于我们可以将数据传递给setTimeout的事实。
for(var it = 0; it < 2; it++){
setTimeout(function(data) {
alert(data);
}, 1, it);}解决方案#2。
function foo(data){
setTimeout(function() {
alert(data);
}, 1);}for(var it = 0; it < 2; it++){
foo(it);}还有其他选择吗?
繁星点点滴滴
www说
Qyouu
随时随地看视频慕课网APP
相关分类