gpt4 book ai didi

javascript - 这个函数的堆栈会是什么样子?

转载 作者:行者123 更新时间:2023-12-02 20:12:36 26 4
gpt4 key购买 nike

当我执行以下操作时:

function makeAddFunction(amount) {
function add(number) {
return number + amount;
}
return add;
}

var addTwo = makeAddFunction(2);
var addFive = makeAddFunction(5);
alert(addTwo(1) + addFive(1));

makeAddFunction 的每个实例是否都有一个单独的堆栈,还是所有实例都将使用相同的堆栈?变量进入和离开堆栈的顺序重要吗?

最佳答案

每个函数调用都会创建一个新的函数 (-Context)。因此,为了快速回答这个问题,是的,他们将在 ECMAscripts 执行上下文方面拥有单独的“堆栈”。

我不太确定“变量进入和离开堆栈的顺序”是什么意思。

ECMAscript 是关于上下文(对象)的。有一堆按顺序调用的执行上下文。一个上下文完成后,父上下文将继续运行,直到它也完成(依此类推)。只要有任何上下文,该原则就持续存在,如果没有,全局上下文将再次受到关注。

关于javascript - 这个函数的堆栈会是什么样子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6777463/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com