JS的执行上下文
当前栈顶的执行上下文包括:变量对象VO
、作用域链[[Scope]]
、this
执行上下文的生命周期: 当一个函数被调用时,会在执行栈顶创建一个新的执行上下文
- 创建阶段: 执行上下文会分别创建变量对象,建立作用域链,以及确定this的指向
- 代码执行阶段: 变量赋值、 函数引用、执行其他代码
- 执行完毕,出栈,等待垃圾回收机制回收内存
创建变量对象VO:Variable Object
1、创建arguments对象 2、函数声明 3、变量声明
**NOTE:**在执行上下文创建后,会把基础数据类型的值存在变量对象中,而引用类型的值保存在堆内存中,存在变量对象中的只是一个引用地址