Javascript: setInterval, пауза и пропуск, пока вкладка неактивна - PullRequest
0 голосов
/ 09 мая 2018

Если интервал 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>

10 миллисекунд -

num = 0;

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

<head>
</head>

<body>
  <span id="counter">0</span>
</body>

Кажется, что он пропускает 80 чисел, если рассчитывать на второе. Почему это? Это происходит во фрагменте, и если вы сделали это самостоятельно, то есть в виде файла на вашем компьютере.

Это связано с вычислительной мощностью моего компьютера, в частности, с его памятью или с чем? Я очень смущен этим, поэтому любые ответы будут оценены.

Итак, просто повторюсь, мои вопросы:

1) Почему setInterval приостанавливается?
2) Почему он пропустил 80 или около того номеров, когда он делает паузу, а затем запускается снова?
3) Почему это только для более коротких временных интервалов?

...