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:

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