JavaScript'te Özyineleme ile Çalışma

Programlamada, özyineleme (recursion) adı verilen bir kavram vardır - bu, bir fonksiyonun kendisini çağırmasıdır. Bir örnek üzerinden inceleyelim. Özyineleme kullanarak 1'den 10'a kadar sayıları yazdıralım:

javascriptlet i = 1;

function func(){
  console.log(i);
  i++;
  
  if (i <= 10){
    func(); // burada fonksiyon kendisini çağırıyor
  }
}
func();

Şimdi bu kodun nasıl çalıştığını tartışalım.

Global bir i değişkenimiz ve içinde i değişkeninin içeriğini konsola yazdıran ve ardından ++ yapan bir func fonksiyonumuz var.

Eğer i değişkenimiz 10'dan küçük veya eşitse, fonksiyon tekrar çağrılır. i değişkeni global olduğu için, fonksiyonun her yeni çağrılışında, bir önceki çağrıda ayarlanmış i değeri içinde olacaktır.

Sonuçta, fonksiyon i 10'dan büyük olana kadar kendisini çağırmaya devam edecektir.

Unutmayın, bizim durumumuzda fonksiyonu if olmadan çalıştıramayız - eğer bu yapılırsa, sonsuz fonksiyon çağrısı oluşur.