作用域和作用域链

345 阅读1分钟

作用域也叫执行环境,用来控制程序能够访问的变量和函数有哪些。 js中有两种作用域(执行环境):全局作用域和函数作用域

全局作用域:

在代码的任何地方都能被访问到的属性和方法,如window对象的内置属性,就在全局作用域中

函数作用域

只有该函数内部的代码片段能访问到属性和方法,或者说在函数内部声明的变量和方法

image.png 作用域有上下级关系,函数在哪个作用域下创建,哪个作用域就是他的父亲作用域

作用域最大的特点就是隔离变量,不同作用域可以定义同名字的变量

变量的取值是由现在当前作用域中取,取不到,就去父亲作用域取,这样形成的取值链条叫做作用域连