1、解释为什么如下代码会打印 6 个 6
1 2 3 4 5 6
| let i = 0 for(i = 0; i<6; i++){ setTimeout(()=>{ console.log(i) },0) }
|
SetTimeout在for循环之后才执行,那时候i为6,然后再打印出6次6
2、写出让上面代码打印 0、1、2、3、4、5 的方法
1 2 3 4 5
| for(let i = 0; i<6; i++){ setTimeout(()=>{ console.log(i) },0) }
|
3 、(可选内容)除了使用 for let 配合,还有什么其他方法可以打印出 0、1、2、3、4、5,如果你能找到并写在博客里,可以得到五星好评 :)
方法一:
1 2 3 4 5 6 7 8
| let i = 0 while(1){ console.log(i) i++ if(i>5){ break; } }
|
方法二:
1 2 3 4 5 6 7 8 9
| let i = 0 let timer = setInterval(()=>{ if(i<6){ console.log(i); i++; }else{ this.timer = null; } }, 0);
|
方法三:
1 2 3 4
| let i = new Array(6).fill('') i.map((k,j)=>{ console.log(j); })
|
方法四:
1 2 3 4 5 6 7 8 9
| let i = 0 switch (i){ case 0:console.log(i);i++; case 1:console.log(i);i++; case 2:console.log(i);i++; case 3:console.log(i);i++; case 4:console.log(i);i++; case 5:console.log(i);break; }
|