JavaScript - skakelaarverklaring
Voorbeeld
Voer 'n blok kode uit gebaseer op gebruikerinvoer:
var text;
var fruits = document.getElementById("myInput").value;
switch(fruits) {
case "Banana":
text = "Banana is good!";
break;
case "Orange":
text = "I am not a fan of orange.";
break;
case "Apple":
text = "How you like them apples?";
break;
default:
text = "I have never heard of that fruit...";
}
Meer "Probeer dit self" voorbeelde hieronder.
Definisie en gebruik
Die skakelstelling voer 'n blok kode uit, afhangende van verskillende gevalle.
Die skakelstelling is 'n deel van JavaScript se "Voorwaardelike" stellings, wat gebruik word om verskillende aksies uit te voer gebaseer op verskillende toestande. Gebruik skakelaar om een van baie blokke kode te kies wat uitgevoer moet word. Dit is die perfekte oplossing vir lang, geneste if/else- stellings.
Die skakelstelling evalueer 'n uitdrukking. Die waarde van die uitdrukking word dan vergelyk met die waardes van elke geval in die struktuur. As daar 'n passing is, word die geassosieerde blok kode uitgevoer.
Die skakelstelling word dikwels saam met 'n onderbreking of 'n versteksleutelwoord (of albei) gebruik. Hierdie is albei opsioneel:
Die breek sleutelwoord breek uit die skakelblok. Dit sal die uitvoering van meer uitvoering van kode en/of gevaltoetsing binne die blok stop. As onderbreking weggelaat word, word die volgende kodeblok in die skakelstelling uitgevoer.
Die verstek sleutelwoord spesifiseer een of ander kode wat uitgevoer moet word as daar geen hoofletterpassing is nie. Daar kan net een verstek sleutelwoord in 'n skakelaar wees. Alhoewel dit opsioneel is, word dit aanbeveel dat u dit gebruik, aangesien dit vir onverwagte gevalle sorg.
Sintaksis
switch(expression) {
case n:
code block
break;
case n:
code block
break;
default:
default code block
}
Parameterwaardes
Parameter | Description |
---|---|
expression | Required. Specifies an expression to be evaluated. The expression is evaluated once. The value of the expression is compared with the values of each case labels in the structure. If there is a match, the associated block of code is executed |
Meer voorbeelde
Voorbeeld
Gebruik vandag se weekdagnommer om die weekdagnaam te bereken (Sondag=0, Maandag=1, Dinsdag=2, ...):
var day;
switch (new Date().getDay()) {
case 0:
day = "Sunday";
break;
case 1:
day = "Monday";
break;
case 2:
day = "Tuesday";
break;
case 3:
day = "Wednesday";
break;
case 4:
day = "Thursday";
break;
case 5:
day = "Friday";
break;
case 6:
day = "Saturday";
break;
default:
day = "Unknown Day";
}
Voorbeeld
As vandag nie Saterdag of Sondag is nie, skryf 'n verstekboodskap:
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";
}
Voorbeeld
Soms sal jy wil hê dat verskillende gevalle dieselfde kode moet gebruik, of deurval na 'n algemene verstek.
Let daarop dat in hierdie voorbeeld, die gevalle dieselfde kodeblok deel, en dat die verstekgeval nie die laaste geval in 'n skakelblok hoef te wees nie (as verstek egter NIE die laaste geval in die skakelblok is nie, onthou om dit te beëindig met 'n pouse).
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";
}
Voorbeeld
Gebruik die skakelstelling om 'n blok kode uit te voer wat gebaseer is op gebruikersinvoer, vanaf 'n promptblokkie:
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..";
}
Verwante bladsye
JavaScript-tutoriaal: JavaScript If ... Else Statements
JavaScript Tutoriaal: JavaScript Switch Statement
JavaScript-verwysing: JavaScript if/else-verklaring
JavaScript-verwysing: JavaScript-breekverklaring
Blaaierondersteuning
switch
is 'n ECMAScript1 (ES1) kenmerk.
ES1 (JavaScript 1997) word ten volle ondersteun in alle blaaiers:
Chrome | IE | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes | Yes |