看下面这一行代码
for (let i = 0; i < 3; i++) {
let i = 'abc'
console.log(i)
} // abc
// abc
// abc
从上面可以看到,设置循环变量的那一部分是一个父作用域,而循环体内部是一个当杜的子作用域。
上面代码3次都输出abc。表明循环变量i与函数体内的变量i不在同一作用域内,而是各自有各自的作用域。
看下面这一行代码
for (let i = 0; i < 3; i++) {
let i = 'abc'
console.log(i)
} // abc
// abc
// abc
从上面可以看到,设置循环变量的那一部分是一个父作用域,而循环体内部是一个当杜的子作用域。
上面代码3次都输出abc。表明循环变量i与函数体内的变量i不在同一作用域内,而是各自有各自的作用域。