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:
let 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.