1 解释为什么如下代码会打印 6 个 6
for(i = 0; i<6; i++){
setTimeout(()=>{
console.log(i)
},0)
}
答:应为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);
}
3 (可选内容)除了使用 for let 配合,还有什么其他方法可以打印出 0、1、2、3、4、5,如果你能找到并写在博客里,可以得到五星好评 :)
let i;
for (i = 0; i < 6; i++) {
!(function (i) {
setTimeout(() => {
console.log(i);
}, 0);
})(i);
}