似乎当我setInterval持续1000ms时,它实际上每1001ms左右触发一次该功能.这导致运行时间越长,时间漂移越慢.
var start;
var f = function() {
if (!start) start = new Date().getTime();
var diff = new Date().getTime() - start;
var drift = diff % 1000;
$('<li>').text(drift + "ms").appendTo('#results');
};
setInterval(f, 1000);
Run Code Online (Sandbox Code Playgroud)
运行时,立即显示不准确.
亲眼看看:http://jsfiddle.net/zryNf/
那么有更准确的方法来保持时间吗?还是一种setInterval更准确的表现方式?
javascript ×1