请建议如何将参数传递到使用setInterval的函数中。
我的例子setInterval(funca(10,3), 500);是不正确的。
请建议如何将参数传递到使用setInterval的函数中。
我的例子setInterval(funca(10,3), 500);是不正确的。
当前回答
另一个解决方案是像这样传递你的函数(如果你有动态变量): setInterval(“funca (' + x + ', ' + y + ') ', 500);
其他回答
我知道这个话题是如此古老,但这是我的解决方案传递参数在setInterval函数。
Html:
var fiveMinutes = 60 * 2;
var display = document.querySelector('#timer');
startTimer(fiveMinutes, display);
JavaScript:
function startTimer(duration, display) {
var timer = duration,
minutes, seconds;
setInterval(function () {
minutes = parseInt(timer / 60, 10);
seconds = parseInt(timer % 60, 10);
minutes = minutes < 10 ? "0" + minutes : minutes;
seconds = seconds < 10 ? "0" + seconds : seconds;
display.textContent = minutes + ":" + seconds;
--timer; // put boolean value for minus values.
}, 1000);
}
您需要创建一个匿名函数,这样实际的函数就不会立即执行。
setInterval( function() { funca(10,3); }, 500 );
我在Vue应用程序中遇到了同样的问题。在我的情况下,这种解决方案仅适用于匿名函数声明为箭头函数,关于在mounted()生命周期钩子上的声明。
将它们作为参数添加到setInterval:
setInterval(funca, 500, 10, 3);
你问题中的语法使用了eval,不建议练习。
const designated = "1 jan 2021"
function countdown(designated_time){
const currentTime = new Date();
const future_time = new Date(designated_time);
console.log(future_time - currentTime);
}
countdown(designated);
setInterval(countdown, 1000, designated);
有很多方法可以做到这一点,我个人认为这是干净和甜蜜的。