Он запускает код асинхронно (не параллельно). Задержка обычно изменяется до минимума 10 мс, но это не имеет значения.
Основное использование этого трюка заключается в том, чтобы избежать ограничения глубины стека вызовов. Если вы рискуете достичь предела (пройдите глубокую древовидную структуру и планируйте большую работу на листах), вы можете использовать таймаут, чтобы начать работу с нового пустого стека вызовов.
Вы также можете использовать его, чтобы избежать блокировки текущей резьбы. Например, если вы не хотите <script>
элемента для задержки загрузки страницы:
<script>compute_last_pi_digit()</script> <!-- blocking -->
<script>setTimeout(compute_last_pi_digit,0)</script> <!-- non-blocking -->
Спасибо, я прыгнул, этот вопрос породил пару хороших ссылок. – FriendOfFuture 2008-11-11 23:48:54