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-сіз іске қосуға болмайды - егер мұны істесек, онда функциялардың шексіз шақырылуы пайда болады.