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

看下面这一行代码

 

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

// abc
// abc
// abc

 

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

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

posted @ 2017-10-13 15:23  彭胜光  阅读(1902)  评论(0编辑  收藏  举报