JavaScript -Switch- Anweisung
Die switch
Anweisung wird verwendet, um verschiedene Aktionen basierend auf verschiedenen Bedingungen auszuführen.
Die JavaScript-Switch-Anweisung
Verwenden Sie die switch
Anweisung, um einen von vielen auszuführenden Codeblöcken auszuwählen.
Syntax
switch(expression) {
case x:
// code block
break;
case y:
// code block
break;
default:
// code block
}
So funktioniert es:
- Der Schalterausdruck wird einmal ausgewertet.
- Der Wert des Ausdrucks wird mit den Werten jedes Falls verglichen.
- Wenn es eine Übereinstimmung gibt, wird der zugehörige Codeblock ausgeführt.
- Wenn es keine Übereinstimmung gibt, wird der Standardcodeblock ausgeführt.
Beispiel
Die getDay()
Methode gibt den Wochentag als Zahl zwischen 0 und 6 zurück.
(Sonntag=0, Montag=1, Dienstag=2 ..)
Dieses Beispiel verwendet die Wochentagsnummer, um den Wochentagsnamen zu berechnen:
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";
}
Das Ergebnis des Tages wird sein:
Saturday
Das Break-Schlüsselwort
Wenn JavaScript ein break
Schlüsselwort erreicht, bricht es aus dem Switch-Block aus.
Dadurch wird die Ausführung innerhalb des Schalterblocks gestoppt.
Es ist nicht erforderlich, den letzten Fall in einem Schalterblock zu unterbrechen. Dort bricht (endet) der Block sowieso.
Hinweis: Wenn Sie die break-Anweisung weglassen, wird der nächste Fall ausgeführt, auch wenn die Auswertung nicht mit dem Fall übereinstimmt.
Das Standardschlüsselwort
Das default
Schlüsselwort gibt den Code an, der ausgeführt werden soll, wenn keine Fallübereinstimmung vorhanden ist:
Beispiel
Die getDay()
Methode gibt den Wochentag als Zahl zwischen 0 und 6 zurück.
Wenn heute weder Samstag (6) noch Sonntag (0) ist, schreiben Sie eine Standardnachricht:
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";
}
Das Ergebnis von Text wird sein:
Today is Saturday
Der default
Fall muss nicht der letzte Fall in einem Schalterblock sein:
Beispiel
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";
}
Wenn default
dies nicht der letzte Fall im Schalterblock ist, denken Sie daran, den Standardfall mit einer Unterbrechung zu beenden.
Gemeinsame Codeblöcke
Manchmal möchten Sie, dass verschiedene Schalterfälle denselben Code verwenden.
In diesem Beispielfall teilen sich 4 und 5 denselben Codeblock und 0 und 6 teilen sich einen anderen Codeblock:
Beispiel
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";
}
Schaltdetails
Wenn mehrere Fälle mit einem Fallwert übereinstimmen, wird der erste Fall ausgewählt.
Wenn keine übereinstimmenden Fälle gefunden werden, fährt das Programm mit dem Standardetikett fort .
Wenn kein Standardlabel gefunden wird, fährt das Programm mit der/den Anweisung(en) nach dem Schalter fort .
Strenger Vergleich
Wechselfälle verwenden strikten Vergleich (===).
Die Werte müssen vom gleichen Typ sein, um übereinstimmen zu können.
Ein strenger Vergleich kann nur wahr sein, wenn die Operanden vom gleichen Typ sind.
In diesem Beispiel gibt es keine Übereinstimmung für x:
Beispiel
let x = "0";
switch (x) {
case 0:
text = "Off";
break;
case 1:
text = "On";
break;
default:
text = "No value found";
}