Delo z rekurzijo v JavaScript
V programiranju obstaja koncept, imenovan
rekurzija - to je, ko funkcija kliče
sebe samo. Poglejmo si primer.
Izpišimo s pomočjo rekurzije števila od 1
do 10:
let i = 1;
function func(){
console.log(i);
i++;
if (i <= 10){
func(); // tukaj funkcija kliče sebe samo
}
}
func();
Razpravljajmo, kako ta koda deluje.
Imamo globalno spremenljivko i
in funkcijo func, znotraj katere se v konzolo
izpiše vsebina spremenljivke i,
nato pa se izvede ++.
Če je naša spremenljivka i manjša ali
enaka 10, se funkcija pokliče znova.
Ker je spremenljivka i globalna,
bo ob vsakem novem klicu funkcije v njej
vrednost spremenljivke i, nastavljena v prejšnjem klicu.
Izkazalo se bo, da bo funkcija kličela
sebe, dokler i ne postane
večja od 10.
Upoštevajte, da v našem primeru funkcije
ne moremo zagnati brez if - če to storimo,
bo prišlo do neskončnega klica funkcij.