Rekurzió kezelése JavaScriptben

A programozásban létezik a rekurzió fogalma - ez az, amikor egy függvény saját magát hívja meg. Nézzünk egy példát. Jelenítsünk meg rekurzióval számokat 1-től 10-ig:

javascriptlet i = 1;

function func(){
  console.log(i);
  i++;
  
  if (i <= 10){
    func(); // itt a függvény saját magát hívja
  }
}
func();

Beszéljük meg, hogyan működik ez a kód.

Van egy globális i változónk és egy func függvényünk, amelynek belsejében a konzolra kiírjuk a i változó tartalmát, majd ++ műveletet végzünk.

Ha a i változónk kisebb vagy egyenlő, mint 10, akkor a függvény ismét meghívódik. Mivel a i változó globális, minden új függvényhívásnál az előző hívásnál beállított i változó értéke lesz benne.

Így az fog történni, hogy a függvény addig hívja saját magát, amíg a i nem lesz nagyobb, mint 10.

Ne feledje, hogy esetünkben a függvényt nem indíthatjuk if nélkül - ha ezt megtennénk, akkor végtelen függvényhívásokhoz vezetne.