jsvascript深度探索

主线:引擎-编译器-作用域

引擎:从头到尾负责程序的编译及执行过程

编译器:负责语法的分析和代码的生成

作用域:负责收集并维护所有声明的标志符组成的一系列查询,并实施一套严格的规则,确定当前代码对这些标志的访问权限

:var a=2

变量的赋值执行3个操作,1编译器先声明一个变量a,2然后运行时引擎会在作用域中查找该变量,3找到了就进行赋值。


作用域:LHS RHS

LHS 左查询 :试图找到容器的本身,进行赋值(不关心它的源值是什么)

RHS右查询:取到它的源值

作用域是一套规则,用于在何处如何查询标志符(变量);如果查找的目的是对变量进行赋值,那么就会使用LHS查询;如果目的是获取变量值则会进行RHS查询

= 操作符或者调用函数时传参都会导致关联作用域的LHS查询

你可能感兴趣的:(jsvascript深度探索)