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:

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