JavaScript-da rekursiya bilan ishlash
Dasturlashda rekursiya deb ataladigan tushuncha mavjud -
bu funktsiya o'zini o'zi chaqiradi. Keling, buni misol bilan ko'ramiz.
Rekursiya yordamida 1 dan 10 gacha bo'lgan sonlarni chiqaramiz:
let i = 1;
function func(){
console.log(i);
i++;
if (i <= 10){
func(); // bu yerda funktsiya o'zini o'zi chaqiradi
}
}
func();
Keling, ushbu kod qanday ishlashini muhokama qilaylik.
Bizda global i o'zgaruvchisi
va func funktsiyasi mavjud bo'lib, uning ichida konsolga
i o'zgaruvchisining qiymati chiqariladi,
so'ngra ++ amalga oshiriladi.
Agar bizning i o'zgaruvchimiz 10 dan kichik yoki
teng bo'lsa, funktsiya qayta chaqiriladi.
i o'zgaruvchi global bo'lgani uchun,
har bir yangi funktsiya chaqiruvida unda
oldingi chaqiruvda o'rnatilgan i o'zgaruvchisining qiymati
bo'ladi.
Natijada, funktsiya i
10 dan katta bo'lgunga qadar o'zini o'zi chaqirishda davom etadi.
E'tiboringizni qaratamiz, bizning holatda funktsiyani
if siz ishga tushirib bo'lmaydi - agar buni qilsak,
cheksiz funktsiya chaqiruvlari paydo bo'ladi.