let i = 0
for(i=0;i<6;i++){
setTimeout(()=>{
console.log(i)
},0)
}
结果:6个6
原因:setTimeout表示尽快执行,即要做完当前的事情再执行,而此代码里当前事情只有for里面的事,就是i<6,所以当i=6时事情结束,开始执行打印。
- 让上面代码打印出1,2,3,4,5的方法
for(let i=0;i<6;i++){
setTimeout(()=>{
console.log(i)
},0)
- .除了使用 for let 配合,还有什么其他方法可以打印出 0、1、2、3、4、5
let i=0;
for(i=0;i<6;i++) {
let num=i;
setTimeout(()=>{
console.log(num);
},0,num);
}