Skip to content

执行上下文

执行上下文:指当前执行环境中的变量、函数声明,参数(arguments),作用域链,this等信息。

分为全局执行上下文、函数执行上下文,其区别在于全局执行上下文只有一个,函数执行上下文在每次调用函数时候会创建一个新的函数执行上下文

  • 将全局上下文压入 ECS
  • var顶级函数声明 放入 全局对象(浏览器window)
  • 将 顶级 let const class 声明放入 全局scope
  • 全局scope 变量声明查重,如果在 全局对象 或者 scope 中有重复的声明就报错
  • var 声明变量赋值 undefined
  • 顶级函数声明 赋值 函数对象 ,该对象内部会记录 当前上下文的 Lexcial Environment
  • 创建完成,开始执行代码

执行上下文详解