JavaScript Switch İfadesi
- Önceki Sayfa JS Koşul
- Sonraki Sayfa JS Döngü For
switch
语句用于基于不同条件执行不同动作。
JavaScript Switch İfadesi
请使用 switch
语句来选择多个需被执行的代码块之一。
yapı语法
switch(表达式) { case n: 代码块 kes: case n: 代码块 kes: varsayılan: 默认代码块 }
代码解释:
- 计算一次 switch 表达式
- 把表达式的值与每个 case 的值进行对比
- 如果存在匹配,则执行关联代码
Örnek
getDay() 方法返回 0 至 6 之间的周名数字(weekday number)。
(Sunday=0, Monday=1, Tuesday=2 ..)
本例使用周名数字来计算周的名称:
switch (new Date().getDay()) { davranış 0: day = "星期天"; kes: davranış 1: day = "星期一"; kes: case 2: day = "星期二"; kes: case 3: day = "星期三"; kes: case 4: day = "星期四"; kes: case 5: day = "星期五"; kes: case 6: day = "星期六"; }
结果将是:
break 关键词
如果 JavaScript 遇到 break
关键词,它会跳出 switch kod bloğu.
这将停止代码块中更多代码的执行以及 case 测试。
匹配找到并完成任务后,随机中断执行(break)。无需更多测试。
break
Bu, switch kod bloğundaki diğer kodların çalışmasını "yoksayarak" büyük ölçüde çalışma zamanını tasarruf ettirebilir.
switch kod bloğundaki son case'yi kesmeyin. Kod bloğu burada doğal olarak sona erer.
default 关键词
default
关键词规定不存在 case 匹配时所运行的代码:
Örnek
getDay()
方法返回 0 至 6 的数字周名。
如果今日既不是周六(6)也不是周日(0),则输出一段默认消息:
switch (new Date().getDay()) { case 6: text = "今天是周六"; kes: davranış 0: text = "今天是周日"; kes: varsayılan: text = "期待周末~"; }
text'in sonucu:
defaultcase'nin switch kod bloğundaki son case olmaması gerekmez:
Örnek
switch (new Date().getDay()) { varsayılan: text = "期待周末!"; kes: case 6: text = "今天是周六"; kes: davranış 0: text = "今天是周日"; }
eğer default
switch kod bloğundaki son case değilse, lütfen default case'yi break ile sonlandırın.
Sıkça kullanılan kod bloğu
Bazen aynı kodu kullanmak için farklı case'ler ihtiyacınız olabilir.
在本例中,case 4 ve 5 aynı kod bloğunu paylaşırken 0 ve 6 başka bir kod bloğu paylaşır:
Örnek
switch (new Date().getDay()) { case 4: case 5: text = "周末快到了:)"; kes: davranış 0: case 6: text = "今天是周末~"; kes: varsayılan: text = "期待周末!"; }
Switching 的细节
Birden fazla davranışın aynı davranış değerine eşleşmesi durumunda, ilk davranış seçilir.
Eşleşen davranış bulunmadığında, program varsayılan etiket kullanmaya devam eder.
Varsayılan etiket bulunmadığında, program switch'in ardındanki dizesine devam eder.
Ağır karşılaştırma
Switch case, (===
)
Değerler, eşleşmek istediğiniz türle aynı olmalıdır.
Ağır karşılaştırma doğru olabilmesi için, operantlar aynı türse tek olabilir.
Bu örnekte, x eşleşmeyecek:
Örnek
var x = "0"; switch (x) { davranış 0: text = "Kapalı"; kes: davranış 1: text = "Açık"; kes: varsayılan: text = "Değer bulunamadı"; }
ders dışı kitap
daha fazla bilgi için JavaScript Switch İfadesidaha fazla bilgi için, JavaScript Üst Düzey Eğitimi'ndeki ilgili içerikleri okuyun:
- ECMAScript switch Dizesi
- switch dizesi if dizesinin kardeşidir. Bu bölümde switch dizesinin kullanımı ve Java'daki switch dizesi ile arasındaki farklar anlatılmaktadır.
- Önceki Sayfa JS Koşul
- Sonraki Sayfa JS Döngü For