使用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