Lucrul cu recursivitatea în JavaScript
În programare există un concept numit
recursivitate - aceasta este atunci când o funcție se apelează
pe ea însăși. Să ne uităm la un exemplu.
Să afișăm folosind recursivitatea numerele de la 1
la 10:
let i = 1;
function func(){
console.log(i);
i++;
if (i <= 10){
func(); // aici funcția se autoapelează
}
}
func();
Să discutăm cum funcționează acest cod.
Avem variabila globală i
și funcția func, în interiorul căreia în consolă
este afișat conținutul variabilei i,
apoi se face ++.
Dacă variabila noastră i este mai mică sau
egală cu 10, atunci funcția este apelată din nou.
Deoarece variabila i este globală,
la fiecare nou apel al funcției în ea
va fi valoarea variabilei i
stabilită la apelul anterior.
Se va întâmpla ca funcția să se autoapeleze
până când i devine
mai mare decât 10.
Rețineți că, în cazul nostru, nu putem porni funcția
fără if - dacă facem acest lucru,
va rezulta un apel infinit de funcții.