pengzhanbo
484字约2分钟
2022-04-22
提问
执行上下文就是当前 JavaScript
代码被解析和执行时所在环境的抽象概念, JavaScript
中运行任何的代码都是在执行上下文中运行。
全局执行上下文
最基础的执行上下文,不在任何函数中的代码都位于全局执行上下中。 全局执行上下文有两个特性:1. 创建一个全局对象,如 window;2. 将this指向这个全局对象。 一个程序只能有一个全局上下文。
函数执行上下文
每次调用函数时,都会为该函数创建一个新的执行上下文。 每个函数都拥有自己的执行上下文,但只有被调用时才会被创建。
eval函数执行上下文
运行在eval函数里中的代码有自己的执行上下文
创建阶段
执行阶段
回收阶段
执行栈指 执行上下文栈(Execute Context Stack)。
执行栈 是一个存储函数调用的栈结构,遵循 先进后出 的规则。