javascript之执行上下文
zzzmj opened this issue · 0 comments
zzzmj commented
1. 执行上下文
1.1 定义
执行上下文可以理解为当前代码的执行环境,它会形成一个作用域。
每个执行上下文都包含三个东西
- 变量对象
- 作用域链
- this
存在生命周期
- 创建阶段
在这个阶段中,执行上下文会创建变量对象,建立作用域链,以及确认this的指向 - 代码执行阶段
创建完成之后,就会开始执行代码,这个时候,会完成变量赋值,函数引用
1.2 类型
javascript中的运行环境大概为三种
- 全局环境:只有一个,浏览器中的全局对象就是 window 对象
- 函数环境:在函数被调用的时候才会被创建,每次调用函数都会创建一个新的执行上下文。
- eval(不建议使用,忽略)
1.3 执行栈
在js中,会有很多执行上下文,js会用执行栈来处理这些上下文
第一个肯定是将全局执行上下文push到栈里