Question 1
// for 循環(huán)的基本操作, 打印 0 1
for(var i = 0; i < 2; i++) {
console.log(i) // 0 1
}
Question 2
// 在 for 循環(huán)中 只有一個 i, 由于異步, 所以先 for 循環(huán) ok, 再打印 2 2
for(var i = 0; i < 2; i++) {
setTimeout(() => {
console.log(i) // 2 2
})
}
Question 3
for(let i = 0; i < 2; i++) {
setTimeout(() => {
console.log(i) // 0 1
})
}
/**
* ES6 中的 let 使 for 循環(huán)幾次有幾個 i
* 進入循環(huán) 復(fù)制變量 let = i ==> let i = _i 相當(dāng)于一個快照
* for( let i = 0; let i = _i; i < 2; i++), 在括號中完成了變量 i
*/
Question 4
// 2333 后打印 0
for(
// 單獨的作用域, 只代表 i 的初始值
let i = (setTimeout( ()=> console.log(i), 2333), 0); // 0
// 第二部分 聲明 一個新的 i
i < 2;
i++
) {
console.log(i) // 0 1
}