JavaScript基础--作用域

182 阅读1分钟

作用域

通常来说,一段程序代码中所用到的名字并不总是有效和可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。

作用域的使用提高了程序逻辑的局部性,增强了程序的可靠性,减少了名字冲突。

全局作用域

作用于所有代码执行的环境(整个 script 标签内部)或者一个独立的 js 文件

处于全局作用域内的变量,称为全局变量

1.全局作用域(全局变量) 生效范围(整个js文件整个script标签内)

局部作用域

局部作用域(局部变量,函数作用域) 生效范围(函数内部)

如果函数内部,变量没有声明,直接赋值,也当全局变量看,但是强烈不推荐

特殊情况:但是有一种情况,函数内部的形参可以看做是局部变量。

块级作用域

块级作用域 (块级变量)只能在循环或者判断语句使用let定义的变量,只能在花括号中生效

作用域链:

作用域链: 当你的局部作用域进行层层嵌套,形成相互依赖的结构时,我们把他称为作用域链