1:含义
函数执行前进行的准备工作;
运行js代码的时候,代码进入一个执行环境,该环境会创建一个执行上下文,它会在代码运行前做确定作用域,创建局部变量等准备;
2:js的执行环境
全局执行上下文;
函数执行上下文;
eval函数执行上下文;
js运行时首先会进入全局,就会生成全局上下文,进入函数就会生成函数上下文,但是js是单线程,同一时间只能做一个任务,那么如何去管理
3:js如何管理多个执行上下文
遵循先进后出,后进先出的原则,活成LIFO(“Last In First Out”)规则
4:执行上下文的生命周期
创建阶段
a:创建变量对象
初始创建arguments对象,形式参数(赋值)
普通函数声明(赋值)
局部变量声明(赋值)
b:初始化作用域链
c:确定this指向(this由调用者决定)
d:确定作用域
执行阶段
1:变量对象赋值
2:调用函数
3:顺序执行其他代码
5:变量对象
当处于执行上下文建立阶段是,可以将整个执行上下文看做一个对象,拥有下列属性
a:变量对象
包含argument对象,形式参数,函数和局部变量
b:作用域链
内部上下文所有变量对象列表
c:this指向
上下文中this指向对象
6:作用域链