while döngüsü
forda başlangıç, koşul ve güncelleme tek başlıkta durur. Bazen sadece «bu doğru olduğu sürece devam et» kuralını bilirsiniz — sayaç işin ortasında değişir. while önce bir koşula bakar, gövdeyi çalıştırır, yeniden kontrol eder. Aynı tekrar fikri; sayfada farklı biçim.
while ne yapar?
Parantezdeki ifade doğru kaldıkça { } bloğu yeniden çalışır. Başlıkta init veya güncelleme için ayrı yer yoktur. Değişkenleri döngüden önce hazırlar, gövdede değiştirirsiniz ki koşul sonunda yanlış olsun. O zaman döngü biter ve sonraki deyim çalışır.
while, for ve do...while bir bakışta
📊 Gündelik döngü biçimleri
| Biçim | Ne zaman uyar | Koşul kontrolü |
|---|---|---|
while |
bir kural geçerliyken devam; güncelleme gövdede | her turdan önce |
for |
başlangıç, bitiş ve adım baştan net | her turdan önce (üç parçalı başlık) |
do...while |
gövde en az bir kez çalışmalı | her turdan sonra |
Başlangıç while örnekleri çoğu zaman küçük bir tamsayı sayaç kullanır. Fark yerdedir: let i = 0 döngüden önce, i++ (veya başka değişiklik) süslü parantez içinde. Koşulun okuduğu şeyi hiç değiştirmezseniz döngü hiç bitmeyebilir.
let i = 0;
while (i < 5) {
console.log(i);
i++;
}
while ile sayın
i döngüden önce 0dan başlar. Her tur iyi yazdırır, sonra bir ekler. 0…4 görürsünüz — beş tur. 5 yazılmaz çünkü koşul önce başarısız olur. Gövdeye i++ koymazsanız i sonsuza dek 0 kalır.
Bir turu yavaş okuyun: koşul → gövde (güncellemeyle) → yine koşul. Bu yüzden güncellemeyi unutmak whileda klasik sonsuz döngü tuzağıdır.
let n = 1;
while (n <= 3) {
console.log("step " + n);
n++;
}
1den başlayın, etiketler net
Burada sayaç 1den, koşul n <= 3; step 1, step 2, step 3 görürsünüz. 0 veya 1den başlamak tasarım seçimi — koşulu buna uydurun, tıpkı fordaki gibi.
let total = 0;
let k = 1;
while (k <= 4) {
total = total + k;
k++;
}
console.log(total);
Toplamı tur tur biriktirin
total sıfırdan başlar. Her tur geçerli kyi ekler, sonra kyi ilerletir. 1+2+3+4 sonrası total = 10. Büyüyen sonuç döngü dışında; koşulu süren sayaç yanında.
let left = 3;
while (left > 0) {
console.log("left=" + left);
left--;
}
console.log("done");
Durana kadar geri sayın
Her döngü sadece artmaz. Bu left=3, left=2, left=1 yazar, sonra done. Sayaçı azaltmak da dürüst güncellemedir — döngüyü sona yaklaştıran her değişiklik uygundur.
let x = 0;
do {
console.log("tick " + x);
x++;
} while (x < 1);
console.log("after=" + x);
do...while önce gövdeyi çalıştırır
do...while gövdeyi bir kez çalıştırır, sonra koşulu kontrol eder. Normal while için koşul baştan yanlış olsa bile ilk tur olur. Burada tick 0, sonra after=1 görürsünüz. Hikâye «bir kez dene, gerekirse tekrarla» ise bunu kullanın.
while sonucunu sayfada gösterin
while ile kısa sayım yapın, mesaj kurun, sayfaya yazın.
<!DOCTYPE html>
<html>
<head>
<title>While — page count</title>
</head>
<body>
<p id="out">…</p>
<script>
let msg = "";
let i = 1;
while (i <= 4) {
msg = msg + i + " ";
i++;
}
let box = document.getElementById("out");
box.textContent = "count=" + msg.trim();
</script>
</body>
</html>
Sayfa count=1 2 3 4 gösterir. Üst sınırı değiştirin, yenileyin, yeni listeyi okuyun. Üç parçalı plan baştan netse for tercih edin; durma kuralı tek koşulsa ve güncelleme gövdede duruyorsa while daha temiz kalır. Sonraki ders: for...of ve for...in ile değer ve anahtarlar.
Kendiniz deneyin
- Gövdeye
i < 5vei++koyarak0…4günlüğe yazan birwhileyazın. i <= 5ile1…5yazacak şekilde değiştirin.whileile1…5itotala toplayın ve sonucu günlüğe yazın.5ten1e geri sayın, sonradoneyazın.- Koşul baştan yanlış olsa bile bir satır yazdıran
do...whileyazın. - HTML demoda yalnızca üst sınırı değiştirin, yenileyin,
count=okuyun.
Sık hatalar
- Gövde güncellemesini unutup koşulun hiç yanlış olmaması (sonsuz döngü)
- Bir eksik/fazla:
i < 5yerinei <= 5(veya tersi) - Gerçekten sıfır tur istenirken
do...whileseçmek - Güncellemeyi yanlış yere koymak veya koşulun okuduğundan başka değişkeni değiştirmek
- Net bir
forbaşlığı daha okunaklıyken uzunwhile
Özet
whilekoşul doğru kaldıkça bloğu tekrarlar- Değişkenleri önce hazırlayın; gövdede güncelleyin
- Sayma, toplama ve geri sayım için uygun
do...whilegövdeyi en az bir kez çalıştırır, sonra kontrol eder- Başlangıç/bitiş/adım netse
for; tek süregelen kuraldawhile - Sonraki: for...of ve for...in — değer ve anahtarlarda gezinme
🧠 Bilginizi Test Edin
Bilginizi Test Edin
Bu interaktif sınavla kendini test et ve konuyu ne kadar iyi anladığını gör
📝 Talimatlar
- Her soruyu dikkatle okuyun
- Her soru için en iyi cevabı seçin
- Quiz'i istediğiniz kadar tekrar alabilirsiniz
- İlerlemeniz üstte gösterilecek