Switch ifadesi farklı koşullara bağlı olarak farklı eylemleri yürütmek için kullanılır. Switch kendine gelen ifadeyi değerlendirip, uygun olan case ile eşleştirir. Uygun olan case ile eşleşen ifade/ifadeler yürütülür.
Yazım Kuralı
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
switch (ifade) { case deger1: //ifade, deger1 ile eşleşirse yürütülecek olan kodlar. [break;] case deger2: //ifade, deger2 ile eşleşirse yürütülecek olan kodlar. [break;] ... case degerN: //ifade, degerN ile eşleşirse yürütülecek olan kodlar. [break;] default: //ifade, hiçbir değer ile eşleşmezse yürütülecek olan kodlar. [break;] } |
ifade: case değerleri ile eşleştirilecek olan değer
case degerN: ifade ile eşleştirilecek olan kelime/değer
Tanım:
ifade, case değerleri ile eşleştirilecek olan durumu göstermektedir. Eğer ifade case değerlerinden biri ile eşleşirse, eşleşen değerden break; komutuna kadar olan tüm kodlar çalıştırılır.
Şartlardan sonra break komutu kullanılmazsa program aşağı doğru her case kodunu çalıştırır. Break kullanımı unutulmaması gerek önemli bir noktadır.
Örnek 1:new Date().getDay() metodu 0-6 arasında değer üretir. 0->pazar 6->cumartesi gününü göstermektedir.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
switch (new Date().getDay()) { case 0: day = "PAZAR"; break; case 1: day = "PAZARTESİ"; break; case 2: day = "SALI"; break; case 3: day = "ÇARŞAMBA"; break; case 4: day = "PERŞEMBE"; break; case 5: day = "CUMA"; break; case 6: day = "CUMARTESİ"; } |
Örnek 2:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
<input id="bilgi" type="text" value="Karpuz"> <button onclick="kontrol()">Meyve Kontrol Et</button> <p id="goster"></p> <script> function kontrol() { var yazi; var meyve = document.getElementById("bilgi").value; switch(meyve) { case "Karpuz" yazi = "Karpuz Güzeldir!"; case "Armut" yazi = "Armutu pek sevmem"; case "Kiraz" yazi = "Mevsimi kısa ama tatlı bir meyvedir kiraz"; default yazi = "Üzgünüm! Yazdığın meyveyi tanımıyorum"; } document.getElementById("goster").innerHTML = yazi; } </script> |
Örnek 3: break yazmayı unutunca oluşacak hata ile ilgili örnek
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<script> var deger = 0; switch (deger) { case -1: alert("-1 negatiftir.") break; case 0: // deger 0 olduğu için bu bölüm çalışacaktır. alert(0); // NOT: break yazmayı unuttuk. case 1: // break yazılmadığı için case 0 değeri için bu kısımda çalıştırılacaktır. alert(1); break; // break yazdıldığı için case 2 değeri çalıştırılmayacaktır. case 2: alert(2); break; default: alert("default"); } </script> |
Örnek 4: Tek bir işlem için çoklu case kullanabilirsiniz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<script> var meyve = 'Kivi'; switch (meyve) { case 'Elma': case 'Ayva': case 'Kivi': case 'Karpuz': alert("Evet bu yazdığını bir meyvedir.") break; case 'Domates': default: console.log('Hayır bu bir meyve olmaz'); } </script> |
[…] […]