你不知道的JavaScript--第一章:作用域

80 阅读1分钟

作用域: 是负责收集和维护由所有声明的标识符(变量)组成的一系列查询,并实施一套非常严格的规则,确定当前的代码对这些标识符的访问权限。

作用域链:由于块级或者函数包含在块级或者函数的作用域中,就形成了作用域链,当当前作用域没有该变量时就会从父级作用域中进行查找,以此类推,直到找到全局作用域为止。

大概意思就是作用域是用来收集变量,然后在使用者声明变量、变量赋值、变量读取根据一系列规则,确定变量的作用范围,以及读取变量所在的作用域。

var a = 2 声明变量: 先看当前的作用域里面有没有该变量,如果没有就进行变量的声明,给变量a分配内存,然后把2赋值给变量为a。有变量就忽略声明进行赋值

变量赋值: 先看当前的作用域有没有该变量,没有就往父级的作用域进行查找,以此类推,如果在全局作用域中也没有找到,js就会给改变了声明在全局作用域,然后再进行赋值。