JavaScriptSwitch-sats
- Föregående sida JS villkor
- Nästa sida JS Loop For
switch
语句用于基于不同条件执行不同动作。
JavaScriptSwitch-sats
请使用 switch
语句来选择多个需被执行的代码块之一。
语法
switch(uttryck) { case n: Kodblock break; case n: Kodblock break; default: Standard kodblock }
Kodförklaring:
- Beräkna switch-uttrycket en gång
- Jämför värdet på uttrycket med varje cases värde
- Om det finns en matchning, körs det tillhörande koden
Exempel
getDay() metoden returnerar numret 0 till 6 för veckodagsnumret (weekday number).
(Sunday=0, Monday=1, Tuesday=2 ..)
Detta exempel använder veckodagsnumret för att beräkna veckans namn:
switch (new Date().getDay()) { case 0: day = "Söndag"; break; case 1: day = "Lördag"; break; case 2: day = "Tisdag"; break; case 3: day = "Måndag"; break; case 4: day = "Onsdag"; break; case 5: day = "Torsdag"; break; case 6: day = "Fredag"; }
Resultatet kommer att bli:
break-nyckelordet
Om JavaScript möter break
Nyckelord som hoppar ut ur switch-kodblocket.
Detta kommer att stoppa exekveringen av mer kod i kodblocket samt att testa case.
Om matchning hittas och uppgiften är klar, avbryts exekveringen (break). Det behövs ingen mer testning.
break
Det kan spara mycket exekveringstid eftersom det "ignorerar" andra koder i switch-kodblocket.
Det behöver inte bryta av sista casen i switch-kodblocket. Kodblocket slutar naturligt här.
default-nyckelordet
default
Nyckelordet specificerar vilken kod som körs när det inte finns något matchande case:
Exempel
getDay()
Metoden returnerar numret 0 till 6 för veckodagarna.
Om dagens datum inte är lördag (6) eller söndag (0), ska ett standardmeddelande skrivas ut:
switch (new Date().getDay()) { case 6: text = "Det är lördag idag"; break; case 0: text = "Det är söndag idag"; break; default: text = "Förväntar mig helgen~"; }
text resultatet är:
Standardcase behöver inte vara sista casen i switch-kodblocket:
Exempel
switch (new Date().getDay()) { default: text = "Förväntar mig helgen!"; break; case 6: text = "Det är lördag idag"; break; case 0: text = "Det är söndag idag"; }
Om default
Är inte sista casen i switch-kodblocket, kom ihåg att använda break för att avsluta standardcase.
Vanliga kodblock
Ibland kan du behöva olika case för att använda samma kod.
I detta exempel delar case 4 och 5 samma kodblock, medan 0 och 6 delar ett annat kodblock:
Exempel
switch (new Date().getDay()) { case 4: case 5: text = "Helgen är nära:)"; break; case 0: case 6: text = "Det är helgen idag~"; break; default: text = "Förväntar mig helgen!"; }
Detaljer om Switching
Om flera case matchar en case-värde, väljs den första case.
Om ingen matchande case hittas, fortsätter programmet med default-label.
Om ingen default-label hittas, fortsätter programmet med statement efter switch.
strikt jämförelse
Switch case använder strikt jämförelse (===
)
Värdet måste vara av samma typ som det som ska matchas.
Strikta jämförelser kan endast vara sanna om operanderna tillhör samma typ.
I detta exempel kommer x att inte matcha:
Exempel
var x = "0"; switch (x) { case 0: text = "Av"; break; case 1: text = "På"; break; default: text = "Ingen värde funnet"; }
litteratur
mer om JavaScriptSwitch-satsmer information, läs relaterade innehåll i JavaScript avancerad tutorial:
- ECMAScript switch-sats
- switch-sats är syskon till if-sats. Detta avsnitt introducerar användningen av switch-sats och skillnaderna från switch-sats i Java.
- Föregående sida JS villkor
- Nästa sida JS Loop For