Java中的调用堆栈操作顺序-JS基础概念

时间:2019-05-08 22:24:33

标签: javascript callstack executioncontext

运行这段代码时,JS引擎按此顺序将three(),two(),one()推入调用堆栈。 我的问题是: 字符串“我是一个人!!”返回one()从堆栈弹出后,还是返回two()和three()从堆栈弹出?

我假设“我是一个人!!!”在堆栈中弹出一个函数后立即返回,而在堆栈中弹出每个函数都不返回。

如果我错了,有人可以纠正我吗?

function one() {
  return "I'm function ONE!!!";
}

function two() {
  return one();
}

function three() {
  return two();
}

three();

1 个答案:

答案 0 :(得分:-1)

在浏览器中使用调试器检查代码之后,我得出的结论是“我是一个函数!!!”在调用堆栈中弹出每个函数(一个,两个和三个)后返回。

所以我可能错了“我是一个人!!!”在调用one()之后立即返回。