Praca z rekurencją w JavaScript

W programowaniu istnieje takie pojęcie, jak rekurencja - to sytuacja, gdy funkcja wywołuje samą siebie. Spójrzmy na przykład. Wypiszmy za pomocą rekurencji liczby od 1 do 10:

javascriptlet i = 1;

function func(){
  console.log(i);
  i++;
  
  if (i <= 10){
    func(); // tutaj funkcja wywołuje samą siebie
  }
}
func();

Omówmy, jak działa ten kod.

Mamy globalną zmienną i i funkcję func, wewnątrz której do konsoli wypisywana jest zawartość zmiennej i, a następnie wykonywane jest ++.

Jeśli nasza zmienna i jest mniejsza lub równa 10, to funkcja jest wywoływana ponownie. Ponieważ zmienna i jest globalna, to przy każdym nowym wywołaniu funkcji będzie w niej ustawiona podczas poprzedniego wywołania wartość zmiennej i.

Okaże się, że funkcja będzie wywoływać samą siebie dopóki i nie stanie się większe niż 10.

Należy pamiętać, że w naszym przypadku nie można funkcji uruchomić bez if - jeśli to zrobić, to otrzymamy nieskończone wywołanie funkcji.