Iniciando um temporizador em JavaScript

Embora a função setTimeout não seja destinada a criar temporizadores, ainda assim é possível criá-los com ela, usando recursão:

javascriptlet i = 0;

function timer() {
  setTimeout(function() {
    console.log(++i);
    
    timer(); // chamamos a nós mesmos
  }, 1000);
}
timer();

Parar esse temporizador pode ser feito simplesmente impedindo que a recursão aconteça:

javascriptlet i = 0;

function timer() {
  setTimeout(function() {
    console.log(++i);
    
    if (i < 10) { // inicia apenas se o contador for menor que 10
      timer();
    }
  }, 1000);
}
timer();
Задание 1

Exiba no console o número 0. Após um segundo, exiba o número 1, após dois segundos exiba o número 2, após 3 segundos exiba o número 3. E assim por diante indefinidamente.