JavaScript Switch sætning
- Forrige side JS-betingelser
- Næste side JS Loop For
switch
语句用于基于不同条件执行不同动作。
JavaScript Switch sætning
请使用 switch
语句用于选择多个需被执行的代码块之一。
语法
switch(udtryk) { switch(udtryk) { casen : break; switch(udtryk) { casen : break; default: Kodeblok }
Standard kodeblok
- Kodeforklaring:
- Beregn en switch-udtryk én gang
- Sammenlign værdien af udtrykket med værdien af hver case
Eksempel
Hvis der findes en match, udføres den tilhørende kode
getDay() metoden returnerer et tal mellem 0 og 6 for ugens navne numre (weekday number).
(Sunday=0, Monday=1, Tuesday=2 ..)
switch (new Date().getDay()) { case 0: I dette eksempel bruges ugens navne numre til at beregne ugens navn: break; case 1: day = "Søndag"; break; case 2: day = "Mandag"; break; case 3: day = "Tirsdag"; break; case 4: day = "Onsdag"; break; case 5: day = "Fredag"; break; case 6: day = "Lørdag"; }
Resultatet vil være:
break nøgleord
Hvis JavaScript møder break
Nøgleord, der vil forlade switch-kodeblokken.
Dette vil stoppe udførelsen af mere kode i kodeblokken samt case-testene.
Hvis der findes en match og opgaven er færdiggjort, afbrydes udførelsen tilfældigt (break). Der er ingen grund til yderligere test.
break
Kan spare meget tid på udførelse, fordi den "ignorerer" udførelsen af anden kode i switch-kodeblokken.
Der er ingen grund til at bryde den sidste case i switch-kodeblokken. Kodeblokken afsluttes naturligt her.
default nøgleord
default
Nøgleord definerer den kode, der skal køres, hvis der ikke findes en match for en case:
Eksempel
getDay()
Metoden returnerer tal mellem 0 og 6 for ugens dage.
Hvis i dag ikke er lørdag (6) eller søndag (0), skal der outputtes en standard besked:
switch (new Date().getDay()) { case 6: text = "Dette er lørdag"; break; case 0: text = "Dette er søndag"; break; default: text = "Forventer weekenden~"; }
Resultatet af text er:
Standardcase behøver ikke at være den sidste case i switch-kodeblokken:
Eksempel
switch (new Date().getDay()) { default: text = "Forventer weekenden!"; break; case 6: text = "Dette er lørdag"; break; case 0: text = "Dette er søndag"; }
Hvis default
Er ikke den sidste case i switch-kodeblokken, husk at bruge break for at afslutte standard case.
Almindelige kodeblokke
Nogle gange har du brug for forskellige case for at bruge samme kode.
I dette eksempel dele case 4 og 5 samme kodeblok, mens 0 og 6 dele en anden kodeblok:
Eksempel
switch (new Date().getDay()) { case 4: case 5: text = "Weekendet nærmer sig:)"; break; case 0: case 6: text = "Dette er weekenden~"; break; default: text = "Forventer weekenden!"; }
Detaljer om Switching
Hvis flere case matcher en case-værdi, vælges den første case.
Hvis der ikke findes en matchende case, vil programmet fortsætte med standard label.
Hvis der ikke findes en standard label, vil programmet fortsætte med sætningen efter switch.
strengt sammenligning
Switch case bruger strengt sammenligning (===
)
Værdien skal være af samme type som den type, der skal matches.
Strengt sammenligning kan kun være sand, når operanden tilhører samme type.
I dette eksempel vil x ikke matche:
Eksempel
var x = "0"; switch (x) { case 0: text = "Fra"; break; case 1: text = "Til"; break; default: text = "Ingen værdi fundet"; }
lærebøger
mere om JavaScript Switch sætningmere information, læs de relevante emner i JavaScript-avancerede tutorials:
- ECMAScript switch-sætning
- switch-sætning er en bror til if-sætning. Dette afsnit introducerer brugen af switch-sætning samt forskellen på switch-sætning i Java.
- Forrige side JS-betingelser
- Næste side JS Loop For