for (let i = 0; i < 3; i++) {
let i = 100 // 同一个作用域范围内,不允许使用 let 声明同名的变量
console.log(i)
} // 100 100 10
// 上面 for循环 类似 下方代码
let i = 0
if (i < 3) {
let i = 100
console.log(i)
}
i++
if (i < 3) {
let i = 100
console.log(i)
}
i++
if (i < 3) {
let i = 100
console.log(i)
}
i++
在for循环 {} 中再用 let 声明一个变量 , 同一个作用域范围内,不允许使用 let 声明同名的变量 ,但是没有报错 ,说明 () 中的 i 和 {} 中的 i 不是同一个作用域的
上面 for 循环 拆分一下 就类似于下方写的代码
注意: {} 中 不用 let 声明 i 的话 就 打印 1个100