gpt4 book ai didi

javascript - 调用函数而无需每次都重新初始化

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

我试图在每次调用函数时调用函数而不重新初始化(希望我在这里使用了正确的词)。因此,第一次调用它时,它应该初始化,但初始化后,它应该只使用该引用。

这是我尝试使用的代码。

JSFiddle

console.clear();

function mainFunction(e) {
var index = 0;

function subFunction() {
console.log(index++);
}
return subFunction();
}

window.addEventListener('click', mainFunction)

每次调用 mainFunction 时,

index 应增加 1。显而易见的解决方案是使 index 成为全局变量(或仅在 mainFunction 之外)。但我需要 index 留在 mainFunction` 中。

如何在每次调用 mainFunction 时(使用相同的引用)使 index 递增?

我尝试将 mainFunction 分配给一个变量,然后在事件监听器中调用该变量,

var test = mainFunction;
window.addEventListener('click', test)

但这没有用。结果是一样的。

最佳答案

您应该按如下方式更正代码;

console.clear();

function mainFunction(e) {
var index = 0;

function subFunction() {
console.log(index++);
}
return subFunction; // <<< don't invoke subfunction
}

window.addEventListener('click', mainFunction()) // <<< invoke mainfunction

关于javascript - 调用函数而无需每次都重新初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39683984/

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