let i = 0
for(i = 0; i<6; i++){
setTimeout(()=>{
console.log(i)
},0)
}
//打印出6个6
解释
- i是全局变量
- for循环遍历i
- 而每次循环里都有setTimeout()
- setTimeout()里的函数会在for循环结束后再执行
i = 6
时,循环结束,一起打印6个6
2 写出让上面代码打印 0、1、2、3、4、5 的方法
for(let i = 0; i < 6; i++){
setTimeout (() => {console.log(i)},0)
}//打印 0,1,2,3,4,5
3 除了 for let 配合,其他方法
let i
for(i = 0; i < 6; i++){
!function(j){
setTimeout(()=>{
console.log(j)
},0)
}(i)
}
//打印 0,1,2,3,4,5