执行上下文和执行栈

调用堆栈 - 图1

变量对象

调用堆栈 - 图2

不了解的两个

环境记录中的类型
arguments

总结:

  1. 全局上下文的变量对象初始化是全局对象
  2. 函数上下文的变量对象初始化只包括 Arguments 对象
  3. 在进入执行上下文时会给变量对象添加形参、函数声明、变量声明等初始的属性值
  4. 在代码执行阶段,会再次修改变量对象的属性值