为什么 java 脚本计时器有延迟?

Why is there a delay in java script timer?

我正在尝试使用 java 脚本和 ionic 来构建混合移动网络应用程序。我有一个定时器功能,你点击开始按钮,定时器就会开始。

这是某人的js fiddle例子http://jsfiddle.net/AbrGL/

function startClock() {
    if (clicked === false) {
        clock = setInterval("stopWatch()", 1000);
        clicked = true;
    }
    else if (clicked === true) {
    }
}

当您点击开始按钮时,我们在计数器开始之前会有轻微的延迟(比如 1 秒)。

有没有办法让它更快?

您可以将 1000 毫秒参数减少到零,或者一些非常小的数字。这里需要注意的是,某些浏览器在触发间隔时至少有 10 或 20 毫秒,因此可能会出现故障、重叠和其他意外结果。

您还可以添加间隔触发的最大次数以进行额外控制。

clock = setInterval("stopWatch()", 20, 2);

时钟变量现在将每 20 毫秒重复一次,总共重复 2 次。

function startClock() {
    if (clicked === false) {
        clock = setInterval(stopWatch, 1000); // invoke it every second from now
        stopWatch(); // invoke it now
        clicked = true;
    }
    else if (clicked === true) {
    }
}