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 сартыз иштете албайбыз - эгерде муну жасасак, анда функциялардын чексиз чакырылышына алып келет.