gpt4 book ai didi

javascript - setInterval 无法按预期使用计数功能

转载 作者:行者123 更新时间:2023-11-28 20:44:53 26 4
gpt4 key购买 nike

我知道这可能是一个简单的答案,但我在使用 setInterval 函数时遇到问题。这是我到目前为止所拥有的:

function countUp(n) {
console.log(n++);
}

setInterval( function() { countUp(10); }, 1000);

如果我将变量移到函数之外并增加该值,它将起作用。但是,我希望在调用函数 countUp 时能够将数字设置为任何值。上面的代码只是持续记录10

编辑:

是否有任何方法可以将参数传递给此函数并使其与 setInterval 一起使用而无需声明全局变量?

最佳答案

您需要在函数的封闭范围内递增一个变量:

var n = 10;

function countUp() {
console.log(n++);
}

setInterval(countUp, 1000);

更新:这是一个不涉及全局变量的策略:

function countUp(start) {
return function() {
console.log(start++)
}
}
setInterval(countUp(10), 1000);

正如我所指出的,计数器只需位于封闭范围内,而不是全局范围内。因此,将它传递给一个可以在闭包中引用它的函数在这里就可以正常工作。

关于javascript - setInterval 无法按预期使用计数功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13675466/

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