რეკურსიასთან მუშაობა 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-ის გარეშე - თუ ეს გაკეთდება, მიიღება ფუნქციების უსასრულო გამოძახება.