Javascript:setInterval在选项卡处于非活动状态时暂停和跳过

时间:2018-05-09 18:08:07

标签: javascript setinterval

如果setInterval的间隔是10毫秒,那么如果选项卡处于非活动状态,它将暂停,但如果设置为1秒,则它不会暂停并在选项卡处于非活动状态时继续计数。 以下是一些例子:

1秒 -



num = 0;

window.setInterval(function() {
  num = num + 1;
  document.getElementById('counter').innerHTML = num;
}, 1000);

<html>

<head>
</head>

<body>
  <span id="counter">0</span>
</body>
&#13;
&#13;
&#13;

10毫秒 -

&#13;
&#13;
num = 0;

window.setInterval(function() {
  num = num + 1;
  document.getElementById('counter').innerHTML = num;
}, 10);
&#13;
<html>

<head>
</head>

<body>
  <span id="counter">0</span>
</body>
&#13;
&#13;
&#13;

在计算第二个数字时似乎跳过了80个数字。为什么是这样?这种情况发生在代码段中,如果你自己创建的,即作为计算机上的文件。

这与我的电脑特别是处理能力,或者它的记忆力有什么关系?我对此非常困惑,所以任何答案都会受到赞赏。

所以,重申一下,我的问题是:

1)为什么setInterval暂停?
2)为什么它在暂停然后重新开始时会跳过80左右的数字?
3)为什么这只是较短的时间间隔?

0 个答案:

没有答案