gpt4 book ai didi

javascript - 返回一个函数(来自 Stoyan Stefanov 的《面向对象的 JavaScript》第 95 页)

转载 作者:行者123 更新时间:2023-11-28 16:32:36 25 4
gpt4 key购买 nike

我运行了下面的代码,第一个警报是警报“a”。单击“确定”后,立即弹出警报“b”,但我不明白这一切是如何工作的。

由于 a() 被分配给 var newFunc,当我在 newFunc(); 之后按 Enter 键时,它会运行 function a(),并且 function a() 返回一个匿名函数,但是如何调用这个匿名函数,以便在我单击“确定”后弹出警报('B')。弹出警报 A 吗?

function a(){
alert ('A');
return function() {
alert('B');
};
}

var newFunc = a();
newFunc();

最佳答案

函数 a 通过 a() 调用警报“A”。它返回一个匿名函数,然后将其存储在变量 newFunc 中。为什么?因为您分配了它: var newFunc = a();

然后您可以将 newFunc 视为:

var newFunc = function() {
alert('B');
};

然后使用 newFunc() 调用返回的函数。它提醒“B”。

这称为闭包。查看more about closures ,他们非常棒。

关于javascript - 返回一个函数(来自 Stoyan Stefanov 的《面向对象的 JavaScript》第 95 页),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5348838/

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