let i = 0
for(i = 0; i<6; i++){
setTimeout(()=>{
console.log(i)
},0)
}
为什么如下代码会打印 6 个 6?
因为计时器setTimeout会等到for循环结束后再去运行console.log,打印i
因为跳出for循环时,i的值为6,有且只有一个i,所以i的最终值为6
因为for循环运行了6次,此时要打印6次i的值,所以是6个6
让上面代码打印 0、1、2、3、4、5 的方法
for(let i = 0; i<6; i++){
setTimeout(()=>{
console.log(i)
},0)
}