JavaScript switch-sats

Definition och användning

Switch-satsen utför kodblock beroende på olika situationer.

Switch-satsen är en del av JavaScript:s “villkorssats”, som används för att utföra olika åtgärder beroende på olika förhållanden. Använd switch för att välja en av flera kodblock att köra. Detta är ett perfekt alternativ till långa nästlade if/else-satser.

switch-satser beräknar uttrycket. Därefter jämförs uttryckets värde med varje cases värde i strukturen. Om det matchar, körs den tillhörande kodblocken.

switch-satser används vanligtvis tillsammans med break- eller default-nyckelord (eller båda). Dessa är valfria:

break-nyckelordet lämnar switch-blocket. Detta stoppar vidare exekvering av mer kod och/eller case-test inom blocket. Om break utsätts, körs nästa kodblock i switch-uttrycket.

Om ingen case matchar, specificerar default-nyckelord några kodblock som ska köras. Det kan finnas endast ett default-nyckelord i en switch. Även om det är valfritt rekommenderas det att använda det eftersom det kan hantera oväntade situationer.

Exempel

Kör kodblock baserat på användarinput:

var text;
var fruits = document.getElementById("myInput").value;
switch(fruits) {
  case "Banana":
    text = "Banana är bra!";
    break;
  case "Orange":
    text = "Jag är inte en fan av apelsin.";
    break;
  case "Apple":
    text = "Hur gillar du dessa äpplen?";
    break;
  default:
    text = "Jag har aldrig hört talas om det frukten...";
}

Prova själv

Mer TIY-exempel finns längre ner på sidan.

Syntax

switch(uttryck) {
  case n:
    kodblock
    break;
  case n:
    kodblock
    break;
  default:
    standard kodblock
}

Parametervärde

Parameter Beskrivning
uttryck Obligatorisk. Ange det uttryck som ska beräknas. Uttrycket kommer att beräknas en gång. Uttryckets värde jämförs med varje case-etiketts värde i strukturen. Om det matchar, körs den relaterade kodblocken.

Tekniska detaljer

JavaScript-version: ECMAScript 1

Mer exempel

Exempel

Beräkna weekday-namn baserat på dagens weekday-nummer (Sunday=0, Monday=1, Tuesday=2, ...):

var day;
switch (new Date().getDay()) {
  case 0:
    day = "söndag";
    break;
  case 1:
    day = "fredag";
    break;
  case 2:
    day = "måndag";
    break;
  case 3:
    day = "onsdag";
    break;
  case 4:
    day = "torsdag";
    break;
  case 5:
    day = "Fredag";
    break;
  case 6:
    day = "Lördag";
    break;
  default:
    day = "Okänd dag";
}

Prova själv

Exempel

Om idag inte är lördag eller söndag, skriv en standardmeddelande:

var text;
switch (new Date().getDay()) {
  case 6:
    text = "Idag är lördag";
    break; 
  case 0:
    text = "Idag är söndag";
    break; 
  default: 
    text = "Ser fram emot helgen";
}

Prova själv

Exempel

Ibland vill du att olika fall ska använda samma kod eller använda samma standardvärde.

Observera att i detta exempel delar case samma kodblock, och att default-case inte behöver vara den sista case:n i switch-blocket (men kom ihåg att använda break för att avsluta det om default inte är den sista case:n i switch-blocket).

var text;
switch (new Date().getDay()) {
  case 1:
  case 2:
  case 3:
  default: 
    text = "Ser fram emot helgen";
    break; 
  case 4:
  case 5:
    text = "Snart är det helg";
    break; 
  case 0:
  case 6:
    text = "Det är helg";
}

Prova själv

Exempel

Kör koden i en kodblock med switch-sats baserat på användarens input från en dialogruta:

var text;
var favDrink = prompt("Vad är din favoritcocktaildryck?");
switch(favDrink) {
  case "Martini":
    text = "Utmärkt val! Martini är bra för din själ.";
    break;
  case "Daiquiri":
    text = "Daiquiri är också min favorit!";
    break;
  case "Cosmopolitan":
    text = "Verkligen? Är du säker på att Cosmopolitan är din favorit?";
    break;
  default:
    text = "Jag har aldrig hört talas om den ena...";
}

Prova själv

Webbläsarstöd

Sats Chrome IE Firefox Safari Opera
switch Stöd Stöd Stöd Stöd Stöd

Relaterade sidor

JavaScript-tutorial:JavaScript If...Else-sats

JavaScript-tutorial:JavaScript Switch-sats

JavaScript-referenshandbok:JavaScript if/else-sats

JavaScript-referenshandbok:JavaScript break-sats