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:

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