都知道如果在循环中设置一个定时器,用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);}
MMTTMM
皈依舞
喵喵时光机
随时随地看视频慕课网APP
相关分类