您好,我正在用javascript编写一个秒表实用程序,我有一个关于效率和开销的问题。我考虑过用两种方法制作秒表:
1.存储开始日期,并不断测量自该日期以来的毫秒数。
2.创建一个整数,并按设定的间隔递增它的值。
我想知道哪个是最有效的。此外,我不确定选项#2是否会非常准确,如果有人对此有任何意见,那也是很棒的。
发布于 2011-08-04 11:59:25
正如其他人所说,使用#1。如果你想要一个每秒(或每分钟)都滴答作响的时钟,你应该估计下一个“滴答”的时间,这样setTimeout就会在正确的时间后几毫秒被调用,例如,在下一整秒之后运行:
var d = new Date();
var interval = 1020 - d.getMilliseconds();
setTimeout(fn, interval);这样,如果一个调用的执行因系统繁忙而延迟,则下一个调用应该在下一整秒后大约20ms被调用。
发布于 2011-08-04 11:40:16
选项2将不准确,特别是如果您的页面包含用于其他目的的附加javascript。使用第一种方法。
https://stackoverflow.com/questions/6935920
复制相似问题