Práca s rekurziou v JavaScripte
V programovaní existuje pojem ako
rekurzia - to je, keď funkcia volá
samu seba. Pozrime sa na príklad.
Vypíšme pomocou rekurzie čísla od 1
do 10:
let i = 1;
function func(){
console.log(i);
i++;
if (i <= 10){
func(); // tu funkcia volá samu seba
}
}
func();
Poďme diskutovať o tom, ako tento kód funguje.
Máme globálnu premennú i
a funkciu func, vnútri ktorej sa do konzoly
vypíše obsah premennej i,
a potom sa urobí ++.
Ak je naša premenná i menšia alebo
rovná 10, tak sa funkcia volá opakovane.
Pretože premenná i je globálna,
pri každom novom volaní funkcie v nej
bude nastavená hodnota premennej i
z predchádzajúceho volania.
Dopadne to tak, že funkcia bude volať samu
seba, kým i nebude
väčšie ako 10.
Majte na pamäti, že v našom prípade nie je možné funkciu
spustiť bez if - ak sa to urobí,
dôjde k nekonečnému volaniu funkcií.