1、变量作用域

⑴静态作用域(又称为词法作用域):由程序定义的位置决定
在编译阶段就可以决定变量的引用,跟程序定义位置有关,而与代码执行顺序无关。一般采用嵌套作用域来解析。

Paste_Image.png
⑵动态作用域:程序运行时刻决定
注:压栈;按顺序从栈顶开始查找

2、JS变量作用域

Paste_Image.png
3、词法环境:描述环境的对象

Paste_Image.png
4、环境记录的初始化

Paste_Image.png

Paste_Image.png
5.此法环境-with

6.此法环境-try...catch

Paste_Image.png

Paste_Image.png