JavaScript switch-lause

Määrittely ja käyttö

switch-lause suorittaa koodikappaleita eri tilanteiden mukaan.

switch-lause on osa JavaScriptin 'ehto' lauserakennetta, joka suorittaa erilaisia operaatioita eri ehtojen perusteella. Valitaan yksi monista suoritettavista koodikappaleista switch-lauseella. Tämä on täydellinen ratkaisu pitkille sisäänrakennetuille if/else-lauseille.

switch-lauseke laskee ilmaisun. Sitten ilmaisun arvoa verrataan rakenteen jokaisen case:n arvoon. Jos ne vastaavat, suoritetaan liittyvä koodikappale.

switch-lauseke käsittelee ilmaisua. Sitten ilmaisun arvoa verrataan rakenteen jokaisen case:n arvoon. Jos ne vastaavat, suoritetaan liittyvä koodikappale.

break-käsky poistaa switch-kappaleen ulkopuolelle. Tämä lopettaa lisäkoodin suorittamisen kappaleessa ja/tai suorittaa seuraavan case-testin. Jos breakia ei mainita, suoritetaan seuraava koodikappale switch-lausekkeessa.

Jos mikään case ei vastaa, default-käsky määrittää suoritettavaksi tiettyjä koodia. Yhdessä switch-lausekkeessa voi olla vain yksi default-käsky. Vaikka se on valinnainen, suositellaan sen käyttöä, koska se voi käsitellä odottamattomia tapauksia.

Esimerkki

Suoritetaan koodikappale käyttäjän syötteen perusteella:

var text;
var fruits = document.getElementById("myInput").value;
switch(fruits) {
  case "Banana":
    text = "Banaani on hyvä!";
    break;
  case "Orange":
    text = "En ole appelsiinin ystävä.";
    break;
  case "Apple":
    text = "Miten tykkäät näistä omenoista?";
    break;
  default:
    text = "En ole koskaan kuullut tuosta hedelmästä...";
}

Kokeile itse

Lisää TIY-esimerkkejä sivun alaosassa.

syntaksi

switch(expression) {
  case n:
    koodikappale
    break;
  case n:
    koodikappale
    break;
  default:
    oletusarvo koodikappale
}

parametrin arvo

parametri kuvaus
expression Välttämätön. Määritä laskettava lauseke. Lauseke lasketaan kerran. Lausekkeen arvo verrataan rakenteen jokaisen case-merkinnän arvoon. Jos niitä vastaavat, suoritetaan liittyvä koodikappale.

Tekninen yksityiskohta

JavaScript-versio: ECMAScript 1

Lisää esimerkkejä

Esimerkki

Lasketaan viikonpäivän nimi tänään olevan viikonpäivän numerolla (sunnuntai=0, maanantai=1, tiistai=2, ...):

var day;
switch (new Date().getDay()) {
  case 0:
    day = "sunnuntai";
    break;
  case 1:
    day = "maanantai";
    break;
  case 2:
    day = "tiistai";
    break;
  case 3:
    day = "keskiviikko";
    break;
  case 4:
    day = "perjantai";
    break;
  case 5:
    day = "Friday";
    break;
  case 6:
    day = "Saturday";
    break;
  default:
    day = "Unknown Day";
}

Kokeile itse

Esimerkki

If today is neither Saturday nor Sunday, write a default message:

var text;
switch (new Date().getDay()) {
  case 6:
    text = "Today is Saturday";
    break; 
  case 0:
    text = "Today is Sunday";
    break; 
  default: 
    text = "Looking forward to the Weekend";
}

Kokeile itse

Esimerkki

Sometimes you may want different situations to use the same code or use the same default value.

Please note that in this example, cases share the same code block, and the default case does not have to be the last case in the switch block (but if the default is not the last case in the switch block, remember to end it with a break).

var text;
switch (new Date().getDay()) {
  case 1:
  case 2:
  case 3:
  default: 
    text = "Looking forward to the Weekend";
    break; 
  case 4:
  case 5:
    text = "Soon it is Weekend";
    break; 
  case 0:
  case 6:
    text = "It is Weekend";
}

Kokeile itse

Esimerkki

Based on the user input from the prompt box, execute the code block using the switch statement:

var text;
var favDrink = prompt("What's your favorite cocktail drink?");
switch(favDrink) {
  case "Martini":
    text = "Excellent choice! Martini is good for your soul.";
    break;
  case "Daiquiri":
    text = "Daiquiri is my favorite too!";
    break;
  case "Cosmopolitan":
    text = "Really? Are you sure the Cosmopolitan is your favorite?";
    break;
  default:
    text = "I have never heard of that one..";
}

Kokeile itse

Selaimen tuki

Lause Chrome IE Firefox Safari Opera
switch Tuki Tuki Tuki Tuki Tuki

Liittyvät sivut

JavaScript-opas:JavaScript If...Else lause

JavaScript-opas:JavaScriptin Switch-lause

JavaScriptin referenssikirja:JavaScriptin if/else-lause

JavaScriptin referenssikirja:JavaScriptin break-lause