JavaScript Switch sætning

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:


prøv det selv

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:


prøv det selv

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";
} 

prøv det selv

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!";
} 

prøv det selv

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";
}

prøv det selv

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.