Çoğu zaman aynı bir sıra ile tekrar yapma ihtiyacı duyulabilirsiniz.
Örneğin bir listede bulunan ürünlerin sıra ile çıktısını almak. Veya aynı kodu 1-10’a kadar olan sayılar için çalıştırmak.
Döngü aynı kod parçacığının birden fazla defa çalıştırılmasına denir.
“while” döngüsü
while döngüsü aşağıdaki gibi bir yazıma sahiptir:
while (koşul) {
// kod
// veya döngünün gövdesi
}
koşul doğru iken(while), döngü gövdesinde bulunan kod çalıştırılır.
Örneğin, aşağıdaki kod i < 3 iken çalışır.
let i = 0;
while (i < 3) { // önce 0, sonra 1, sonra 2
alert( i );
i++;
}
Döngünün gövdesinde bulunan kodun her çalışmasına tekerrür(iteration) denir. Yukarıdaki örnekte gövde 3 defa tekerrür etmiştir.
Eğer i++ gibi bir kod olmasaydı, teoride kod sonsuza kadar devam ederdi. Pratikte ise tarayıcınız bu kodun uzun süre çalışmasını engeller, sunucu tabanlı JavaScript yazdığınızda ise bu işlem durdurulur.
Sadece karşılaştırma değil, bir ifade veya değişken koşul olabilir. While döngüsü tarafından alınan tüm ifadeler boolean’a dönüştürülür.
Örneğin, while(i != 0 ) while(i)'de olabilir.
let i = 3;
while (i) { // i 0 olduğunda koşul `yanlış` olur ve döngü biter.
alert( i );
i--;
}
Eğer döngü gövdesi tek satır ise süslü parantezi yazmayabilirsiniz. {..}:
let i = 3;
while (i) alert(i--);
“do…while” döngüsü
do..while döngüsü kullanarak koşul kontrolünü sonda yapmak mümkündür.
do {
// döngü gövdesi
} while (condition);
Döngü önce gövdeyi çalıştırır, sonra koşul kontrolü yapar ve eğer doğruysa tekrar döngü gövdesini çalıştırır.
Örneğin:
let i = 0;
do {
alert( i );
i++;
} while (i < 3);
Bu şekilde döngü yazımı çok nadir olarak kullanılır. Kullanılmasının en önemli amacı en azından bir defa ne olursa olsun gövdenin çalıştırılma istenmesidir. Genelde while(..){} şekli tercih edilir.
“for” döngüsü
for döngüsü en fazla kullanılan döngüdür.
Aşağıdaki şekilde kullanıma sahiptir: