JavaScript-da rekursiýa bilen işlemek
Programmirlemede şeýle bir düşünje bar,
rekursiýa - bu funksiýanyň öz-özüni çagyrmagydyr.
Geliň mysal üçin seredeliň.
Rekursiýa ýardamynda 1
-dan 10-a çenli sanlary çap edeliň:
let i = 1;
function func(){
console.log(i);
i++;
if (i <= 10){
func(); // şu ýerde funksiýa öz-özüni çagyryar
}
}
func();
Geliň bu kodyň nähili işleýändigini gürrüň edeliň.
Bizde global üýtgeýji i
we func funksiýasy bar, onuň içinde konsola
i üýtgeýjisiniň mazmuny
çap edilýär, soňra bolsa ++ amal ýerine ýetirilýär.
Eger bizim i üýtgeýjimiz 10-dan
kiçi ýa-da deň bolsa, onda funksiýa gaýtadan çagyrylýar.
i üýtgeýjisi global bolany üçin,
her bir täze funksiýa çagyrylyşynda onda
öňki çagyrylyşda bellelenen i
üýtgeýjisiniň bahasy boljak.
Şeýlelikde, funksiýa i
10-dan uly bolýança öz-özüni çagyrar.
Üns beriň, bizim ýagdaýymyzda funksiýany
if sözsüz işletip bolmaýar - eger muny etsek,
çäksiz funksiýa çagyrmalar ýüze çykar.