学习图表——执行上下文构成

解释:
- the running execution context:运行时执行上下文,当程序运行,进入到某段代码块时,一个新的执行上下文被创建,并被放入一个 stack 中。当程序运行到这段代码块结尾后,对应的执行上下文被弹出 stack,就是运行时执行上下文。一般包括Lexical Environments(词法环境)和VariableEnvironment (可变环境)
- LexicalEnvironment:词法环境,记录 let、const 的声明。一般包括Environment Record(环境记录)和Reference to an outer Lexical Environment(外部 lexical environment 的引用)
- VariableEnvironment:可变环境,记录var 声明的变量,也是LexicalEnvironment的实例
- Environment Record:环境记录,存储变量,函数等声明的实际映射,一般包括:Declarative environment record(声明性环境记录) , Object environment record(对象环境记录),Global Environment Records(全局环境记录)
- Declarative environment record:声明性环境记录,存储变量,函数(可绑定this),常量,类,模块声明
- Object environment record:对象环境记录,存储对象声明
- Global Environment Records:全局环境记录,存储全局变量,全局对象的属性以及脚本出现的所有顶级声明,可绑定this