for(var i=0;i<10;i++){
setTimeOut(function(){
console.log("i:",i);
},100)
}
上面显示的打印出来结果,都是 10
解决方法:
1)使用立即执行函数
for(var i=0;i<10;i++){
(function(i){
setTimeOut(function(){
console.log("i:",i);
},100)
})(i)
}
2)let定义变量
for(let i=0;i<10;i++){
setTimeout(function(){
console.log("i:",i);
},100)
}