Rekursiooniga töötamine JavaScriptis
Programmeerimises on selline mõiste nagu
rekursioon - see on siis, kui funktsioon kutsub
välja iseennast. Vaatame näite abil.
Väljastame rekursiooni abil numbrid 1
kuni 10:
let i = 1;
function func(){
console.log(i);
i++;
if (i <= 10){
func(); // siin kutsub funktsioon välja iseennast
}
}
func();
Arutleme, kuidas see kood töötab.
Meil on globaalne muutuja i
ja funktsioon func, mille sees konsooli
väljastatakse muutuja i sisu,
seejärel tehakse ++.
Kui meie muutuja i on väiksem või
võrdne kui 10, siis kutsutakse funktsioon uuesti välja.
Kuna muutuja i on globaalne,
siis iga uue funktsiooni väljakutsega on selles
eelmise väljakutsega määratud muutuja i väärtus.
Tulemuseks on, et funktsioon kutsub välja iseennast
kuni i muutub suuremaks kui 10.
Pidage meeles, et meie puhul ei saa funktsiooni
käivitada ilma if-ita - kui seda teha,
siis tekib lõpmatu funktsioonide väljakutsete ahel.