gpt4 book ai didi

javascript - 定义一个不变的变量

转载 作者:行者123 更新时间:2023-11-30 07:53:40 25 4
gpt4 key购买 nike

我这里有这段代码:

var foo = 0;
setInterval(function(){foo++}, 1000);

这将使 foo 每秒增加 1。有什么方法可以定义一个 bar 变量,该变量将成为当时的 foo 变量并且不会改变?听起来很困惑,所以在这里:例如:

var foo = 0;
setInterval(function(){foo++}, 1000);
setTimeout(function(){var bar = foo}, 4000) //bar = 4;

有什么方法可以将 bar 保持在 4 而不是随 foo 增加?非常感谢!
(抱歉英语不好)

最佳答案

如果您的意思是您希望 bar 在与 foo 相同的范围内可用,只需移动它的声明即可:

var foo = 0;
var bar;
setInterval(function() {
foo++;
}, 1000);
setTimeout(function() {
bar = foo;
}, 4000);

一旦它获得计时器分配的值,它就不会再更改(除非您在某处更改它)。

实例:

var foo = 0;
var bar;
setInterval(function() {
foo++;
}, 1000);
setTimeout(function() {
bar = foo;
}, 4000);
var stop = Date.now() + 10000;
var timer = setInterval(function() {
console.log("foo = " + foo + ", bar = " + bar);
if (Date.now() > stop) {
clearInterval(timer);
}
}, 1000);
.as-console-wrapper {
max-height: 100% !important;
}

关于javascript - 定义一个不变的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46540469/

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