我尝试以不同的方式对 setInterval
的第一次调用进行计时,以便在第一次调用之前花费 100 秒,然后在所有其余调用之间花费 5 秒。这是我的代码:
setTimeout((setInterval(test,5000)),100000);
function test(){
alert("hi!");
}
最佳答案
第一个参数必须是一个函数。您正在使用 (setInterval(test,5000))
。这不是一个函数,而是一个立即运行的语句,以便 JS 引擎可以计算结果并将其传递给 setTimeout
,就像它会立即计算 (3+3) 一样
并将 6
传递给该函数(如果您已使用 setTimeout((3+3), 100000)
代替)。
所以解决方案是传递一个函数:
setTimeout(function() { setInterval(test,5000); },100000);
function test(){
alert("hi!");
}
一个不相关的提示:使用 console.log()
而不是 alert()
进行这样的调试,这样您就不必点击所有警报框时间。
关于javascript - 首次调用 setInterval 的时间安排与其他调用不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35347871/