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:

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