JavaScript-switch sætning

Definition og brug

Switch-sætningen udfører kodeblokke afhængigt af forskellige situationer.

Switch-sætningen er en del af JavaScript's “betingelse”-sætning, der bruges til at udføre forskellige operationer afhængigt af forskellige betingelser. Brug switch til at vælge en af flere kodeblokke, der skal udføres. Dette er en perfekt løsning på lange indlejrede if/else-sætninger.

switch-udtryk beregner udtrykket. Derefter sammenlignes udtrykkets værdi med værdien af hver case i strukturen. Hvis der er en match, udføres den tilhørende kodeblok.

switch-udtryk bruges ofte sammen med break- eller default-nøgler (eller begge). Disse er valgfri:

break-nøglen forlader switch-blokken. Dette stopper yderligere kodeudførelse og/eller test af tilfælde inden i blokken. Hvis break udelades, udføres næste kodeblok i switch-udtrykket.

Hvis ingen case matcher, specificerer default-nøglen nogle kode, der skal køres. Der kan kun være én default-nøgle i en switch. Selvom den er valgfri, anbefales det at bruge den, da den kan håndtere uventede situationer.

Eksempel

Udfør kodeblokken baseret på brugerinput:

var text;
var fruits = document.getElementById("myInput").value;
switch(fruits) {
  case "Banana":
    text = "Banana er god!";
    break;
  case "Orange":
    text = "Jeg er ikke en fan af appelsin.";
    break;
  case "Apple":
    text = "Hvordan synes du om disse æbler?";
    break;
  default:
    text = "Jeg har aldrig hørt om denne frugt...";
}

Prøv det selv

Der er flere TIY-eksempler nedenfor på siden.

Syntaks

switch(udtryk) {
  case n:
    kodeblok
    break;
  case n:
    kodeblok
    break;
  default:
    standard kodeblok
}

Parameterværdi

Parameter Beskrivelse
udtryk Obligatorisk. Angiv den udtryk, der skal beregnes. Udtrykket vil blive beregnet én gang. Udtrykkets værdi sammenlignes med værdien af hver case-label i strukturen. Hvis der er en match, udføres den relevante kodeblok.

Tekniske detaljer

JavaScript version: ECMAScript 1

Flere eksempler

Eksempel

Beregn navnet på ugedagen ved hjælp af ugedagens nummer for i dag (søndag=0, mandag=1, tirsdag=2, ...):

var day;
switch (new Date().getDay()) {
  case 0:
    day = "søndag";
    break;
  case 1:
    day = "mandag";
    break;
  case 2:
    day = "tirsdag";
    break;
  case 3:
    day = "onsdag";
    break;
  case 4:
    day = "torsdag";
    break;
  case 5:
    day = "Friday";
    break;
  case 6:
    day = "Saturday";
    break;
  default:
    day = "Ukendt Dag";
}

Prøv det selv

Eksempel

Skriv en standardbesked, hvis i dag ikke er lørdag eller søndag:

var text;
switch (new Date().getDay()) {
  case 6:
    text = "I dag er Saturday";
    break; 
  case 0:
    text = "I dag er Sunday";
    break; 
  default: 
    text = "Ser frem til Weekend";
}

Prøv det selv

Eksempel

Nogle gange vil du måske have, at forskellige situationer bruger samme kode eller samme standardværdi.

Bemærk, i dette eksempel deler case-felter samme kodeblok, og default-case behøver ikke at være den sidste case i switch-blokken (men husk at bruge break for at afslutte det, hvis default ikke er den sidste case i switch-blokken).

var text;
switch (new Date().getDay()) {
  case 1:
  case 2:
  case 3:
  default: 
    text = "Ser frem til Weekend";
    break; 
  case 4:
  case 5:
    text = "Snart er det Weekend";
    break; 
  case 0:
  case 6:
    text = "Det er Weekend";
}

Prøv det selv

Eksempel

Ud fra brugerens input fra en prompt-boks udføres kodeblokken med switch-sætningen:

var text;
var favDrink = prompt("Hvilken er din favorit cocktaildrank?");
switch(favDrink) {
  case "Martini":
    text = "En fremragende valg! Martini er godt for din sjæl.";
    break;
  case "Daiquiri":
    text = "Daiquiri er også min favorit!";
    break;
  case "Cosmopolitan":
    text = "Virkelig? Er du sikker på, at Cosmopolitan er din favorit?";
    break;
  default:
    text = "Jeg har aldrig hørt om den ene...";
}

Prøv det selv

Browserunderstøttelse

sætning Chrome IE Firefox Safari Opera
switch Understøttelse Understøttelse Understøttelse Understøttelse Understøttelse

Relaterede sider

JavaScript tutorial:JavaScript If...Else sætning

JavaScript tutorial:JavaScript Switch sætning

JavaScript reference manual:JavaScript if/else sætning

JavaScript reference manual:JavaScript break sætning