JavaScript需要比预期更多的时间

JavaScript需要比预期更多的时间,javascript,performance,Javascript,Performance,我试图每毫秒生成一组值 通过使用window.performance.now,我确定1000点1秒的数据需要大约1毫秒的处理时间 所以。。。当我生成日志语句的条件是我已经生成了1000个点时,为什么每3秒而不是每1秒生成一次日志语句 代码包括在下面。这里有一个指向JSFIDLE的链接: 设置间隔、设置超时和最小超时 根据Mozilla开发网络,具有最小超时时间。这个值在不同的浏览器中有所不同,但是,这个值在2010年以后的浏览器中得到了很好的尊重。如果您通过较低的超时,它将在内部充气到最小值 非

我试图每毫秒生成一组值

通过使用window.performance.now,我确定1000点1秒的数据需要大约1毫秒的处理时间

所以。。。当我生成日志语句的条件是我已经生成了1000个点时,为什么每3秒而不是每1秒生成一次日志语句

代码包括在下面。这里有一个指向JSFIDLE的链接:

设置间隔、设置超时和最小超时 根据Mozilla开发网络,具有最小超时时间。这个值在不同的浏览器中有所不同,但是,这个值在2010年以后的浏览器中得到了很好的尊重。如果您通过较低的超时,它将在内部充气到最小值

非活动选项卡
在后台选项卡中,超时被进一步限制为至少1000毫秒。

太棒了!谢谢你的澄清。我将间隔更新为5毫秒,将计数减少到200,现在我得到的结果更加合理。Justin tip,如果您将相同的值分配给多个变量,您可以在一行中完成。所以你可以做c=m=t=c=y=0;而不是你所做的
var c = 0;
var m = 0;
var t = 0;
var x = 0;
var y = 0;

window.setInterval(function()
{
        var e;
        var s;

        if (c === 0)
        {
          m = Date.now();
        }

        s = window.performance.now();

        x += Math.random();
        y += Math.random();
        c++;

        e = window.performance.now();
        t += e - s;

        if (c !== 1000)
        {
          return;
        }

        console.log(t.toFixed(0).toString() + " milliseconds");
        console.log((Date.now() - m).toFixed(0).toString() + " milliseconds");

        c = 0;
        m = 0;
        t = 0;
        x = 0;
        y = 0;
}, 1);