使用setTimeout()它可以在指定时间启动功能:
setTimeout()
setTimeout(function, 60000);
但是,如果我想多次启动该功能怎么办?每次经过一个时间间隔,我都想执行该函数(假设每 60 秒)。
如果您不关心 中的代码是否timer可能比您的时间间隔更长,请使用setInterval():
timer
setInterval()
setInterval(function, delay)
这会一遍又一遍地触发作为第一个参数传入的函数。
更好的方法是setTimeout与self-executing anonymous函数一起使用:
setTimeout
self-executing anonymous
(function(){ // do some stuff setTimeout(arguments.callee, 60000); })();
这保证了在您的代码执行之前不会进行下一次调用。我arguments.callee在这个例子中用作函数参考。这是为函数命名并在其中调用它的更好方法,setTimeout因为arguments.callee在 ecmascript 5 中已弃用。
arguments.callee