gpt4 book ai didi

javascript - 在 JavaScript 中持久化变量而不是全局变量

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

我想要一个按钮,作为一些重复发生的定时事件的“开始”和“停止”按钮。

为此,我可以在所有内容之上设置一个全局变量:

toggleOn = false; 

然后,在<button onClick="...里面,我可以有:

toggleOn =! toggleOn;
foo();
function foo() {
// do my stuff
if (toggleOn) {
setTimeout(foo, 5000);
}
}

但问题是,我不能使用全局变量来完成相同的任务。我应该怎么做?是否存在可以携带超出其范围的值的持久变量?

最佳答案

这是一个例子,其中闭包是该语言的重要特性。

(function()
{
var active = false;
myButton.addEventListener('click', function myButtonClick(event)
{
if (active) {
// recursion..?
setTimeout(myButtonClick, 5000);
}

active = !active;
}
})();

关于闭包的更多信息 here .

关于javascript - 在 JavaScript 中持久化变量而不是全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19037342/

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