在JavaScript中,执行上下文和执行栈是理解代码执行过程中的重要概念。执行上下文是JavaScript引擎用来跟踪和管理变量、函数和对象的环境。而执行栈是用来存储和管理执行上下文的数据结构。
执行上下文
执行上下文可以被看作是代码在执行过程中的环境。它包含了变量、函数和对象的声明,以及代码执行时的作用域和this关键字的值。每当JavaScript引擎执行一段可执行代码时,都会创建一个新的执行上下文。
执行上下文分为三种类型:全局执行上下文、函数执行上下文和eval执行上下文。
- 全局执行上下文:全局执行上下文是在代码开始执行时创建的。它是最外层的执行上下文,并且在整个代码执行过程中都存在。全局执行上下文包含了全局作用域内的变量和函数声明,而且this的值指向全局对象(在浏览器中是window对象)。
下面是一个示例代码,展示了全局执行上下文的创建:
var globalVariable = 'Hello';
function