都知道如果在循环中设置一个定时器,用var且不将内部函数改为立即执行函数的情况下,会循环打印出5
for(var i = 0;i<5;i++){ setInterval(function(){ console.log(i,"i") },200); }
这种情况会一直打印出0、1、2、3、4、0、1、2、3....
for(var i = 0;i<5;i++){ (function(i){ setInterval(function(){ console.log(i,"i") },200); })(i) }
这种写法只打印一次0、1、2、3、4,为什么?
for(var i = 0;i<5;i++){ setInterval(function(i){ console.log(i,"i") }(i),200);}
皈依舞
喵喵时光机
相关分类