gpt4 book ai didi

javascript - JavaScript 中的闭包

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:05:49 24 4
gpt4 key购买 nike

我希望变量 i 是一个计数器,但它每次都被初始化为 100

如何直接调用 myFunction().f()

function myFunction() {
var i=100;
function f() {
i=i+1;
return i;
}
return f(); // with parenthesis
};
var X = myFunction();
console.log(X);
X = myFunction();
console.log(X);

最佳答案

你不能直接调用f。它被包裹在一个闭包中,其目的是关闭所有局部变量。您必须将它暴露在 myFunction 的外部。

首先:

return f; //(); // withOUT parenthesis

然后只需调用 X,因为您已经为其分配了一个函数。

var X = myFunction();
X();

关于javascript - JavaScript 中的闭包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7322062/

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