JavaScript - schakelverklaring
De switch
verklaring wordt gebruikt om verschillende acties uit te voeren op basis van verschillende voorwaarden.
De JavaScript Switch-verklaring
Gebruik de switch
instructie om een van de vele codeblokken te selecteren die moeten worden uitgevoerd.
Syntaxis
switch(expression) {
case x:
// code block
break;
case y:
// code block
break;
default:
// code block
}
Dit is hoe het werkt:
- De switch-expressie wordt één keer geëvalueerd.
- De waarde van de uitdrukking wordt vergeleken met de waarden van elk geval.
- Als er een overeenkomst is, wordt het bijbehorende codeblok uitgevoerd.
- Als er geen overeenkomst is, wordt het standaard codeblok uitgevoerd.
Voorbeeld
De getDay()
methode retourneert de weekdag als een getal tussen 0 en 6.
(zondag=0, maandag=1, dinsdag=2 ..)
In dit voorbeeld wordt het weekdagnummer gebruikt om de naam van de weekdag te berekenen:
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";
}
Het resultaat van de dag zal zijn:
Saturday
De pauze Trefwoord
Wanneer JavaScript een break
trefwoord bereikt, breekt het uit het schakelblok.
Dit stopt de uitvoering binnen het schakelblok.
Het is niet nodig om het laatste geval in een schakelblok te breken. Het blok breekt (eindigt) daar toch.
Opmerking: Als u de break-instructie weglaat, wordt de volgende case uitgevoerd, zelfs als de evaluatie niet overeenkomt met de case.
Het standaard trefwoord
Het default
sleutelwoord specificeert de code die moet worden uitgevoerd als er geen case match is:
Voorbeeld
De getDay()
methode retourneert de weekdag als een getal tussen 0 en 6.
Als het vandaag noch zaterdag (6) noch zondag (0) is, schrijf dan een standaardbericht:
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";
}
Het resultaat van tekst is:
Today is Saturday
Het default
geval hoeft niet het laatste geval in een schakelblok te zijn:
Voorbeeld
switch (new Date().getDay()) {
default:
text = "Looking forward to the Weekend";
break;
case 6:
text = "Today is Saturday";
break;
case 0:
text = "Today is Sunday";
}
Als default
dit niet het laatste geval in het schakelblok is, vergeet dan niet om het standaardgeval met een pauze te beëindigen.
Gemeenschappelijke codeblokken
Soms wilt u dat verschillende schakelkasten dezelfde code gebruiken.
In dit voorbeeld delen 4 en 5 hetzelfde codeblok en delen 0 en 6 een ander codeblok:
Voorbeeld
switch (new Date().getDay()) {
case 4:
case 5:
text = "Soon it is Weekend";
break;
case 0:
case 6:
text = "It is Weekend";
break;
default:
text = "Looking forward to the Weekend";
}
Overstapdetails
Als meerdere casussen overeenkomen met een casuswaarde, wordt de eerste casus geselecteerd.
Als er geen overeenkomende gevallen worden gevonden, gaat het programma verder naar het standaardlabel .
Als er geen standaardlabel wordt gevonden, gaat het programma verder met de instructie(s) na de switch .
Strikte vergelijking:
Schakelkasten gebruiken strikte vergelijking (===).
De waarden moeten van hetzelfde type zijn om overeen te komen.
Een strikte vergelijking kan alleen waar zijn als de operanden van hetzelfde type zijn.
In dit voorbeeld is er geen match voor x:
Voorbeeld
let x = "0";
switch (x) {
case 0:
text = "Off";
break;
case 1:
text = "On";
break;
default:
text = "No value found";
}