Skip to content
快看这页儿写了啥...

什么是执行栈

题干

  • 执行栈

题解

执行栈(Execution Stack),也称为调用栈(Call Stack),是用来管理函数调用和执行上下文的一种数据结构。它是一个栈(先进后出)结构,用于跟踪代码的执行位置。

当 JS 引擎执行代码时,它会创建一个全局执行上下文,并将其推入执行栈的底部。然后,每当遇到函数调用时,引擎会创建一个新的执行上下文,并将其推入执行栈的顶部。这样,当前正在执行的函数的执行上下文位于执行栈的顶部,而调用该函数的函数的执行上下文位于其下方,以此类推。

执行栈的主要作用是跟踪函数的执行顺序和管理执行上下文。当函数执行完成后,其执行上下文会从执行栈中弹出,控制权回到调用该函数的位置,继续执行下一个函数。

执行栈的典型示例如下:

javascript
function foo() {
  console.log("Hello from foo!");
  bar();
}

function bar() {
  console.log("Hello from bar!");
}

function baz() {
  console.log("Hello from baz!");
}

foo();
baz();

在上述示例中,当 foo 函数被调用时,它的执行上下文被推入执行栈的顶部。然后,foo 函数内部调用了 bar 函数,引擎会创建 bar 函数的执行上下文并推入执行栈。当 bar 函数执行完成后,它的执行上下文从执行栈中弹出,控制权回到 foo 函数,继续执行下一个语句。最后,当所有函数执行完成后,全局执行上下文从执行栈中弹出,程序执行结束。

相关

什么是执行上下文、JS 有几种上下文

贡献者

isboyjc's avatar isboyjc

浏览量(PV)  次  ·  独立访客(UV)  人次
不正经的前端 | 八股 · 欢迎 star ⭐