let i = 0
for(i = 0; i<6; i++){
setTimeout(()=>{
console.log(i)
},0)
}
setTimeout会使每一个console.log都在for循环结束之后依次执行,而for循环结束时i的值为6,这些console.log全部打印出6. 如果想打印出0,1,2,3,4,5,可以在for循环的条件里面用let声明变量:
for(let i = 0; i<6; i++){
setTimeout(()=>{
console.log(i)
},0)
}