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:

javascriptlet 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í.