Rekursijas darbs JavaScript
Programmēšanā pastāv tāds jēdziens kā
rekursija - tas ir, kad funkcija izsauc
pati sevi. Apskatīsim to ar piemēru.
Izvadīsim, izmantojot rekursiju, skaitļus no 1
līdz 10:
let i = 1;
function func(){
console.log(i);
i++;
if (i <= 10){
func(); // šeit funkcija izsauc pati sevi
}
}
func();
Pārrunāsim, kā šis kods darbojas.
Mums ir globālais mainīgais i
un funkcija func, kuras iekšienē konsolē
tiek izvadīts mainīgā i saturs,
un pēc tam tiek veikts ++.
Ja mūsu mainīgais i ir mazāks vai
vienāds ar 10, tad funkcija tiek izsaukta atkārtoti.
Tā kā mainīgais i ir globāls,
tad katrā jaunā funkcijas izsaukumā tajā
būs iepriekšējā izsaukumā iestatītā mainīgā
i vērtība.
Izrādīsies, ka funkcija izsauks pati
sevi līdz brīdim, kad i kļūs
lielāks par 10.
Ņemiet vērā, ka mūsu gadījumā nevar funkciju
palaist bez if - ja to izdarītu,
tad iegūtu bezgalīgu funkciju izsaukšanu.