for循环中变量的作用域问题

时间:2021-03-15 21:14:20

看下面这一行代码

for (let i = 0; i < 3; i++) {
let i = 'abc'
console.log(i)
} // abc
// abc
// abc

从上面可以看到,设置循环变量的那一部分是一个父作用域,而循环体内部是一个当杜的子作用域。

上面代码3次都输出abc。表明循环变量i与函数体内的变量i不在同一作用域内,而是各自有各自的作用域。