let i = 0
for(i = 0; i<6; i++){
setTimeout(()=>{
console.log(i)
},0)
}
- 问解释为什么上面代码会打印 6 个 6 ?
- seTimeout的意思是,等一会在执行
- seTimeout在循环只每次触发就会生成一个"计时钟",然后就停止了,但是外面的循环还在继续,就会不停的触发生成一个"计时钟",外面的循环结束时,一共触发了6次,一共生成了6个"计时钟".
- 外面的代码外面的循环结束时,i的值为6,然后运行"计时钟",把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
- 除了使用 for let 配合,还有什么其他方法可以打印出 0、1、2、3、4、5
var i = 0 while(i<6){ console.log(i) i++ }