JS中for循环变量作用域

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS中for循环变量作用域相关的知识,希望对你有一定的参考价值。

参考技术A

js中作用域只有函数作用域和全局作用域 ,在函数体内使用var 定义的变量,会被提到函数开始处进行定义,作用域为整个函数,常见的误区如下:

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

看下面这一行代码

 

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

// abc
// abc
// abc

 

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

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

以上是关于JS中for循环变量作用域的主要内容,如果未能解决你的问题,请参考以下文章

js中变量的作用域

js改变作用域链

js中let和var定义变量的区别

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

js中的函数提升和变量提升

js的作用域深入理解