renovations
This commit is contained in:
parent
dceccedb58
commit
6ac9e3a500
182 changed files with 275 additions and 324 deletions
|
@ -245,6 +245,14 @@ setTimeout(function() {}, 100);
|
|||
В Internet Explorer, нулевая задержка `setInterval(.., 0)` не сработает. Это касается именно `setInterval`, т.е. `setTimeout(.., 0)` работает нормально.
|
||||
[/warn]
|
||||
|
||||
[smart header="Откуда взялись эти 4мс?"]
|
||||
Почему минимальная задержка -- 4мс, а не 1мс? Зачем она вообще существует?
|
||||
|
||||
Это -- "привет" от прошлого. Браузер Chrome как-то пытался убрать минимальную задержку в своих ранних версиях, но оказалось, что существуют сайты, которые используют `setTimeout(..,0)` рекурсивно, создавая тем самым "асинхронный цикл". И, если задержку совсем убрать, то будет 100% загрузка процессора, такой сайт "подвесит" браузер.
|
||||
|
||||
Поэтому, чтобы не ломать существующие скрипты, решили сделать задержку. По возможности, небольшую. На время создания стандарта оптимальным числом показались 4мс.
|
||||
[/smart]
|
||||
|
||||
## Реальная частота срабатывания
|
||||
|
||||
В ряде ситуаций таймер будет срабатывать реже, чем обычно. Задержка между вызовами `setInterval(..., 4)` может быть не 4мс, а 30мс или даже 1000мс.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue