Rekursijos naudojimas JavaScript
Programavime egzistuoja tokia sąvoka kaip
rekursija - tai kai funkcija iškviečia
pati save. Pažiūrėkime pavyzdžiu.
Išveskime naudodami rekursiją skaičius nuo 1
iki 10:
let i = 1;
function func(){
console.log(i);
i++;
if (i <= 10){
func(); // čia funkcija iškviečia pati save
}
}
func();
Aptarkime, kaip šis kodas veikia.
Mes turime globalų kintamąjį i
ir funkciją func, kurios viduje į konsolę
išvedamas kintamojo i turinys,
o tada atliekamas ++.
Jei mūsų kintamasis i yra mažesnis arba
lygus 10, tai funkcija iškviečiama pakartotinai.
Kadangi kintamasis i yra globalus,
tai kiekvienu nauju funkcijos iškvietimu jame
bus nustatyta ankstesniame iškvietime nurodyta kintamojo
i reikšmė.
Pasirodo, kad funkcija kviestis pati
save tol, kol i netaps
didesnis už 10.
Turėkite omenyje, kad mūsų atveju funkcijos
paleisti be if negalima - jei tai padaryti,
gausis begalinis funkcijų iškvietimas.