您好,我正在用 javascript 编写一个秒表实用程序,我有一个关于效率和开销的问题。我考虑过两种制作秒表的方法:
1.存储开始日期并不断测量自该日期以来的毫秒数。
2.创建一个整数并以设定的时间间隔递增它的值。
我想知道哪个最有效。另外,我不确定选项 #2 是否非常准确,如果有人对此有任何意见,那也很棒。
最佳答案
正如其他人所说,选择#1。如果你想要一个每秒(或分钟或其他)滴答的时钟,你应该估计下一个“滴答”的时间,以便在正确的时间后几毫秒调用 setTimeout,例如在下一整秒后立即运行:
var d = new Date();
var interval = 1020 - d.getMilliseconds();
setTimeout(fn, interval);
这样,如果一个调用的执行因系统繁忙而延迟,下一个调用仍应在下一整秒后约 20 毫秒被调用。
关于javascript - 高效秒表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6935920/