一,什么是执行上下文
在js执行一段代码之前,js的引擎会做一些准备工作(例如变量、函数预声明、this赋值),这个准备阶段就称为执行上下文。
二,执行上下文的类型
执行上下文分为3种:全局执行上下文、函数执行上下文、evel函数执行上下文
全局执行上下文:是基础的、默认的上下文类型,主要做两件事:创建全局window对象,将this指向window对象。全局执行上下文只有一个
函数执行上下文:在函数执行之前,会为该函数创建一个新的执行上下文。函数执行上下文可以有多个。
evel函数执行上下文:是指在evel函数内部右自己的执行上下文,比较少用。
三、执行上下文的存储管理
执行上下文存在一个数据栈内存中管理。因为栈是先进后出的规则,所以每创建一个新的执行上下文,便将他压入栈的顶部,当函数执行完毕时,便从栈顶弹出。