Запуск таймера в JavaScript

Хотя функция setTimeout и не предназначена для создания таймеров, однако их все равно можно делать с ее помощью, если воспользоваться рекурсией:

let i = 0; function timer() { setTimeout(function() { console.log(++i); timer(); // вызовем сами себя }, 1000); } timer();

Остановить такой таймер можно просто не дав случится рекурсии:

let i = 0; function timer() { setTimeout(function() { console.log(++i); if (i < 10) { // запускаем, только если счетчик меньше 10 timer(); } }, 1000); } timer();

Выведите в консоль число 0. Через секунду выведите число 1, через две секунды выведите число 2, через 3 секунды выведите число 3. И так далее до бесконечности.

enru