JavaScript-də Rekursiya ilə Iş

Proqramlaşdırmada rekursiya anlayışı var - bu, funksiyanın özünü çağırmasıdır. Gəlin bir nümunəyə baxaq. Rekursiyadan istifadə edərək 1-dən 10-a qədər rəqəmləri çap edək:

javascriptlet i = 1;

function func(){
  console.log(i);
  i++;
  
  if (i <= 10){
    func(); // burada funksiya özünü çağırır
  }
}
func();

Gəlin bu kodun necə işlədiyini müzakirə edək.

Bizim qlobal dəyişən i və func funksiyamız var, onun daxilində i dəyişəninin məzmunu konsola çap olunur, sonra isə ++ edilir.

Əgər bizim i dəyişənimiz 10-dan kiçik və ya bərabərdirsə, onda funksiya təkrarən çağırılır. i dəyişəni qlobal olduğu üçün, funksiyanın hər yeni çağırılışında onda əvvəlki çağırışda təyin olunmuş i dəyişəninin dəyəri olacaq.

Belə çıxır ki, funksiya i 10-dan böyük olana qədər özünü çağıracaq.

Nəzərə alın ki, bizim vəziyyətimizdə funksiyanı if olmadan işə salmaq olmaz - əgər bu edilsə, onda sonsuz funksiya çağırışları alınar.