为什么呢?for(vari=0;i
2 回答
波斯汪
TA贡献1811条经验 获得超4个赞
因为setTimeout是异步执行的,当这个方法执行的时候,i都已经是10了。可以使用闭包来防止变量污染。for(vari=0;i<10;i++){(function(i){setTimeout(function(){console.log(i)},100);})(i);}
添加回答
举报
0/150
提交
取消