我看到有时JavaScript计时器有点滞后。我想知道您是否认为最好拥有更多具有不同时间的计时器或只有一个计时器。
例如,我需要两个计时器,一个用于时钟秒刷新(每 1000 毫秒),另一个用于服务器的某些更新(每 3600 毫秒)。您是否认为我们最好只有一个计时器(更频繁),例如:
if(dateObj.getSeconds()==0){
//do update each minute
}
也许答案是:是一样的... :-)
谢谢。
拥有两个计时器是一个更好的主意 - 更具可读性且更易于维护。
如果一段代码密集运行几秒钟,浏览器很可能会杀死这样的脚本。所以不要指望滞后会比这几秒钟更大。但是,通常此滞后不应大于几十毫秒(如果毫秒)。
如果您需要确切知道计时器的确切时间以及滞后是什么,请参阅以下简单的代码片段:
var scheduled = new Date().getTime() + 100;
setTimeout(function() {
var lag = new Date().getTime() - scheduled;
//...
}, 100);
在我的情况下(Firefox)lag
变量总是在-1(!)和1毫秒之间。