运行这段代码时,JS引擎按此顺序将three(),two(),one()推入调用堆栈。 我的问题是: 字符串“我是一个人!!”返回one()从堆栈弹出后,还是返回two()和three()从堆栈弹出?
我假设“我是一个人!!!”在堆栈中弹出一个函数后立即返回,而在堆栈中弹出每个函数都不返回。
如果我错了,有人可以纠正我吗?
function one() {
return "I'm function ONE!!!";
}
function two() {
return one();
}
function three() {
return two();
}
three();
答案 0 :(得分:-1)
在浏览器中使用调试器检查代码之后,我得出的结论是“我是一个函数!!!”在调用堆栈中弹出每个函数(一个,两个和三个)后返回。
所以我可能错了“我是一个人!!!”在调用one()之后立即返回。