ECMAScript break ve continue İfadesi
- Önceki sayfa break ifadesi
- Sonraki sayfa with ifadesi
Break ve continue ifadeleri döngülerdeki kodun çalışmasına daha sıkı bir kontrol sağlar.
Break ve continue ifadelerinin farklılıkları
Break ifadesi hemen döngüyü terk eder ve tekrar tekrar herhangi bir kodun çalışmasını önler.
Continue ifadesi sadece mevcut döngüyü terk eder ve kontrol ifadesine göre bir sonraki döngüye devam etmeyi izin verir.
Örnek olarak:
var iNum = 0; for (var i=1; i<10; i++) { if (i % 5 == 0) { break; } iNum++; } alert(iNum); // "4" olarak çıktı ver
Yukarıdaki kodda, for döngüsü 1'den 10'a kadar değişken i'yi döndürür. Döngü ana vücudunda, if ifadesi (mod işlevini kullanarak) i'nin değeri 5'e bölünebilir mi kontrol eder. Eğer bölünebilirse, break ifadesi çalıştırılır. Alert "4" olarak görüntülenir, yani döngüden çıkmadan önce döngüde kaç kez çalıştırıldığı.
Bu örnekteki break ifadesinin yerine continue ifadesi kullanıldığında sonuç farklı olacaktır:
var iNum = 0; for (var i=1; i<10; i++) { if (i % 5 == 0) { continue; } iNum++; } alert(iNum); // "8" olarak çıktı ver
Burada, alert "8" olarak görüntülenecek, yani döngüyü çalıştıran sayı. Toplam olarak çalıştırılabilir döngü sayısı 9 olabilir, ancak i'nin değeri 5 olduğunda, continue ifadesi çalıştırılacaktır ve döngü ifadesi iNum++'yi atlayacak, döngü başına geri dönecektir.
Etiketli ifadelerle birlikte kullanılır
break ifadesi ve continue ifadesi etiketli ifadelerle birlikte kullanılabilir, koddaki belirli bir konuma geri dönebilir.
Genellikle, döngü içinde döngü olduğunda böyle yapılır, örneğin:
var iNum = 0; outermost: for (var i=0; i<10; i++) { for (var j=0; j<10; j++) { if (i == 5 && j == 5) { break outermost; } iNum++; } } alert(iNum); // Çıktı "55"
Yukarıdaki örnekte, etiket outermost ilk for ifadesini temsil eder. Normalde, her for ifadesi 10 kez kod bloğunu çalıştırır, bu da iNum++'ın normalde 100 kez çalışacağı anlamına gelir, çalışma tamamlandığında iNum 100 olmalıdır. Buradaki break ifadesi bir parametreye sahiptir, yani döngüyü durdurduktan sonra atlanacak olan ifadenin etiketi. Bu şekilde break ifadesi sadece iç for ifadesini (j değişkenini kullanılan ifadeleri) değil, aynı zamanda dış for ifadesini (i değişkenini kullanılan ifadeleri) de sonlandırabilir. Bu yüzden iNum son değeri 55 olur, çünkü i ve j değerleri her ikisi de 5'e eşit olduğunda döngü sona erer.
continue ifadesi ile aynı şekilde kullanılabilir:
var iNum = 0; outermost: for (var i=0; i<10; i++) { for (var j=0; j<10; j++) { if (i == 5 && j == 5) { continue outermost; } iNum++; } } alert(iNum); // Çıktı "95"
Örnekte, continue ifadesi döngüyü devam ettirmek zorunda bırakır, sadece iç döngü değil, dış döngü de. j 5'e eşit olduğunda bu durum ortaya çıkar, bu durumda iç döngü 5 kez daha az yineleme yapar ve iNum'un değeri 95 olur.
İpucu:Görüldüğü gibi, break ve continue ile birlikte kullanılan etiketli ifadeler çok güçlüdür, ancak aşırı kullanımları kodun hata ayıklanmasına zorluk getirir. Kullanılan etiketlerin anlamlı olmasını ve çok katmanlı döngülerin içine yerleştirilmemesini sağlayın.
İpucu:Etiketli ifadelerin ne olduğunu öğrenmek istiyorsanız, okuyun ECMAScript Etiket İfadesi Bu bölüm.
- Önceki sayfa break ifadesi
- Sonraki sayfa with ifadesi