К основному контенту

Javascript: рекурсивный вызов функции через setInterval и setTimeout

Итак, как правильно вызвать исполняемую в данный момент функцию, для исполнения ее через некоторый промежуток времени? Получается своего рода отложенная рекурсия, функция вызывает сама себя, но через некоторый промежуток времени - очень удобно для различного рода анимаций, при этом не зависает интерфейс страницы.
Несколько вариантов вызова функции через setTimeout:

function five() {
console.log("five");
setTimeout(five(), 3000);
setTimeout("five()", 4000);
setTimeout(five(4), 5000);
}

Во всех вышеперечисленных случаях функция five выполнится немедленно, без задержки.
Единственно правильный вариант:
setTimeout(five, 5000, 4);

Ну и пример анимации, реализованный с помощью рекурсии:

Animatester

Test 01

Pass1:

Комментарии

Популярные сообщения из этого блога

Печать файлов из папки в автоматическом режиме

Простой метод организовать простой "сервер печати" без драйверов.

Как убрать рекламные баннеры Розетки

С некоторых пор Adblock оказался бессилен заблокировать баннеры Розетки, которые теперь бессовестно прут из всех щелей, порой даже ломая разметку страницы.