რეკურსიასთან მუშაობა JavaScript-ში
პროგრამირებაში არსებობს ისეთი ცნება, როგორიცაა
რეკურსია - ეს არის როდესაც ფუნქცია თავის თავს
იძახებს. მოდით, მაგალითზე ვნახოთ.
რეკურსიის მეშვეობით გამოვიტანოთ რიცხვები 1-დან
10-მდე:
let i = 1;
function func(){
console.log(i);
i++;
if (i <= 10){
func(); // აქ ფუნქცია თავის თავს იძახებს
}
}
func();
მოდით, განვიხილოთ, თუ როგორ მუშაობს ეს კოდი.
გვაქვს გლობალური ცვლადი i
და ფუნქცია func, რომლის შიგნითაც კონსოლში
გამოიტანება ცვლადი i-ის მნიშვნელობა,
შემდეგ კი კეთდება ++.
თუ ჩვენი ცვლადი i ნაკლებია ან
უდრის 10-ს, მაშინ ფუნქცია იძახებს თავის თავს.
რადგან ცვლადი i გლობალურია,
ყოველ ახალ გამოძახებაზე მასში იქნება
წინა გამოძახების დროს დაყენებული მნიშვნელობა
i ცვლადის.
გამოვა, რომ ფუნქცია თავის თავს იძახებს
იქამდე, სანამ i არ გახდება
10-ზე მეტი.
გაითვალისწინეთ, რომ ჩვენს შემთხვევაში შეუძლებელია ფუნქციის
გაშვება if-ის გარეშე - თუ ეს გაკეთდება,
მიიღება ფუნქციების უსასრულო გამოძახება.