执行上下文又叫做执行环境。
就是放在 Call Stack 调用栈中的 可执行代码 形成的环境
image.png

可执行代码 Executable Code

  • global code 整个 JS 文件
  • function code 函数代码
  • module 模块代码
  • eval code 放在 eval 中的代码

    执行上下文的组成

  • Lexical Environment 一种词法环境 ES6 之后加入块作用域

    • 用来登记 let const class 等变量声明
  • Variable Environment 另一种词法环境
    一般和 Lexical Environment 指向同一个词法环境
    • 用来登记 var funciton 变量声明
  • This Binding this 指向
    1. var a;
    2. function foo(){
    3. a = 20;
    4. console.log(a);
    5. }
    6. function baz(){
    7. foo();
    8. }
    9. baz();