都知道如果在循環中設置一個定時器,用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
2019-03-14 18:15:37