1 词法化
大部分标准表一起的第一个工作阶段是词法化,对源代码的字符进行检查,如果是有状态的解析过程还会赋予单词语义;
一般来说词法作用域是由书写代码时,把变量和块作用域写在哪里决定的,因此词法分析器在处理代码时会保持作用域不变(大部分情况是这样,而且我们推荐这样写);
2 遮蔽效应
作用域查找时,会在找到第一个匹配的标识符时停止,这叫做遮蔽效应;
全局变量会自动的成为全局对象(比如浏览器中的window对象)的属性,,因此不直接使用词法名称而是通过属性,比如window.a,就可以访问到被遮蔽的属性,但是如果是非全局变量被遮蔽了是无法访问的;
无论函数在哪里被调