想着用这种“绘声绘色”的话剧来演示JS的学习会是一件有趣的事情吧,像是小时候珍藏的400多本多啦A梦全套真的算是在以前的小朋友面前吹牛皮的资本了吧,所以啊,当你现在生活在阴沟里也要仰望着星空吧。
理解作用域:
-
演员------引擎、编译器、作用域
演员表 - 台本
var a = 2
- 剧情------变量的赋值操作将会执行两个动作
- 1.编译器会在当前作用域中声明一个变量(如果之前没有声明过);
- 2.在运行时引擎会在作用于中查找该变量,如果能够找到就会对他进行赋值;
-
编译器有话说
编译器在编译过程的第二步中生成了代码,引擎执行它的时候,会通过查找变量a来判断它是否已经声明过。查找过程由作用域进行协助,但是引擎执行怎样的查找,会影响最终的查找结果。
在台本var = 2 中,引擎为变量a进行了LHS查询。另外一个查找的类型叫做RHS(L\R代表赋值操作的左侧和右侧)
LHS与RHS -
引擎和作用域的对话
引擎和作用域的对话
网友评论