你不知道的javascript(一)

时间:2021-03-04 14:47:38

1.

引擎

从头到尾负责整个javascript程序的编译及执行的过程。它可以根据需要创建并储存变量。

编译

负责语法分析及代码生成等。

作用域

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

先看看他们三兄弟的大概关系:对于声明一个变量并赋值的过程。

1) 首先,vara在其作用域中声明新变量。这会在最开始的阶段,也就是代码执行前进行。
2) 接下来,a=2会查询(LHS查询)变量a并对其进行赋值。

你不知道的javascript(一)

2.遍历嵌套作用域链的规则很简单:引擎从当前的执行作用域开始查找变量,如果找不到,就向上一级继续查找。

当抵达最外层的全局作用域的时候,无论找到还是没有找到,查找过程都会停止。

你不知道的javascript(一)