gpt4 book ai didi

javascript - 为什么要调用这个函数呢?

转载 作者:行者123 更新时间:2023-12-02 17:30:29 25 4
gpt4 key购买 nike

为什么这段代码有效? -http://jsfiddle.net/Mq9Ap/1/

$(function() {

function outer() {
var counter = 0;
function inner() {
alert(counter);
counter++;
}
return inner;
}

var x = outer(); // As we're calling outer here, x is a reference to inner
x(); // alerts 0
x(); // alerts 1

});

但如果我将 return inside 更改为 return inner()

,它只会运行一次

编辑:

我通过提及括号混淆了问题的意图。我仍然很困惑内部函数是如何被调用的,因为 x() 只指向外部函数。

如果返回值是指向函数的指针,编译器是否知道它应该调用函数?

最佳答案

return inside 返回内部函数。然后就可以调用它了。

return inside() 立即运行内部函数(警告 0),然后返回其返回值(未定义)。然后,您会收到一条错误消息,指出 undefined 不是函数(当 x() 尝试调用它时)。

关于javascript - 为什么要调用这个函数呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23114750/

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