如果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;
10毫秒 -
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;
在计算第二个数字时似乎跳过了80个数字。为什么是这样?这种情况发生在代码段中,如果你自己创建的,即作为计算机上的文件。
这与我的电脑特别是处理能力,或者它的记忆力有什么关系?我对此非常困惑,所以任何答案都会受到赞赏。
所以,重申一下,我的问题是:
1)为什么setInterval暂停?
2)为什么它在暂停然后重新开始时会跳过80左右的数字?
3)为什么这只是较短的时间间隔?