gpt4 book ai didi

javascript - 在 Javascript 中,如何创建一个以毫秒为单位的精确计时器?

转载 作者:太空狗 更新时间:2023-10-29 14:39:47 26 4
gpt4 key购买 nike

我看到了一个 Javascript 毫秒计时器演示 HERE

但是,我发现它非常不准确,因为它使用 setInterval 每次增加一毫秒。

有没有人知道如何在 JS 中轻松实现精确的毫秒计时器?是否必须使用 Date 对象来完成?

最佳答案

准确的计时器使用 setTimeout()setInterval() 定期更新显示,但从不计算实际时间。由于 Javascript 的单线程特性,计时器事件可能不会在正确的时间间隔准确发生,但调用 Date.now() 将始终为您提供准确的当前系统时间。

因此,您总是使用 Date.now() 之类的方法来获取当前时间并将其与之前的某个时间进行比较以计算实际耗时。这将与计算机上的系统时钟一样准确。

例如,这是一个工作计时器显示:

var startTime = Date.now();

var interval = setInterval(function() {
var elapsedTime = Date.now() - startTime;
document.getElementById("timer").innerHTML = (elapsedTime / 1000).toFixed(3);
}, 100);
<span id="timer"></span> s

关于javascript - 在 Javascript 中,如何创建一个以毫秒为单位的精确计时器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32307483/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com