Рад са рекурзијом у JavaScript-у

У програмирању постоји концепт који се назива рекурзија - то је када функција позива саму себе. Хајде да погледамо на примеру. Прикажимо помоћу рекурзије бројеве од 1 до 10:

javascriptlet i = 1;

function func(){
  console.log(i);
  i++;
  
  if (i <= 10){
    func(); // овде функција позива саму себе
  }
}
func();

Хајде да размотримо како овај код функционише.

Имамо глобалну променљиву i и функцију func, унутар које се у конзолу исписује садржај променљиве i, а затим се врши ++.

Ако је наша променљива i мања или једнака 10, онда се функција поново позива. Пошто је променљива i глобална, при сваком новом позиву функције у њој ће бити постављена вредност променљиве i из претходног позива.

Добићемо да ће функција позивати саму себе све док i не постане већа од 10.

Имајте у виду да у нашем случају не можемо функцију покренути без if - ако се то уради, добиће се бесконачно позивање функција.