Rad sa rekurzijom u JavaScript-u
U programiranju postoji koncept koji se zove
rekurzija - to je kada funkcija poziva
samu sebe. Pogledajmo na primeru.
Ispišimo pomoću rekurzije brojeve od 1
do 10:
let i = 1;
function func(){
console.log(i);
i++;
if (i <= 10){
func(); // ovde funkcija poziva samu sebe
}
}
func();
Hajde da diskutujemo kako ovaj kod radi.
Imamo globalnu promenljivu i
i funkciju func, unutar koje se u konzolu
ispisuje sadržaj promenljive i,
a zatim se vrši ++.
Ako je naša promenljiva i manja ili
jednaka 10, funkcija se poziva ponovo.
Pošto je promenljiva i globalna,
pri svakom novom pozivu funkcije u njoj
će biti zadata pri prethodnom pozivu vrednost
promenljive i.
Ispostavlja se da će funkcija zvati samu
sebe sve dok i ne postane
veće od 10.
Imajte u vidu da se u našem slučaju funkcija ne može
pokrenuti bez if - ako se to uradi,
dobiće se beskonačno pozivanje funkcija.