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:
let 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.