据我所知(虽然了解相对较少),目前没有本地事件会在例如秒针滴答声时发出。我能想到的最好方法是反复检查一个Date对象(例如每333毫秒;更短的间隔可以获得更高的精度,但也更加资源密集)。不知为何,如果我反复使用同一个Date对象,时间就不会更新,而
Date.prototype.getSeconds()
当typeof为'number'时,日志显示为'NaN'。
function clock(interval) {
var d = new Date();
var secondsOld = d.getSeconds();
d = null;
setInterval(function() {
var d = new Date();
var secondsNew = d.getSeconds();
if ( secondsNew !== secondsOld ) {
secondsOld = secondsNew;
// trigger something
console.log(secondsOld);
}
d = null;
}, interval);
}
typeof NaN === 'number'
。 - Teemu