1 解释为什么如下代码会打印 6 个 6
let i = 0
for(i = 0; i<6; i++){
setTimeout(()=>{
console.log(i)
},0)
}
这个JS代码是在在for循环外面用let声明了一个变量,然后用for循环遍历变量i,因为用let声明变量是在循环外部,console.log(i)语句在定时器中,定时器的意思就是过一会执行,那么就意味着console.log(i)是在for循环结束后才执行的,这是i经历循环后的结果是6,而每次循环过程结束才执行定时器中的代码,所以结果是6个6
2 写出让上面代码打印 0、1、2、3、4、5 的方法
for(let i = 0; i<6; i++){
setTimeout(()=>{
console.log(i)
},0)
}
即将let声明放入for循环中即可
3 除了使用 for let 配合,以下方法可以打印出 0、1、2、3、4、5
var a = 0
for(;a<6;a++){
console.log(a)
}