Instrukcja przełączania JavaScript
Instrukcja switch
służy do wykonywania różnych działań na podstawie różnych warunków.
Instrukcja przełącznika JavaScript
Użyj switch
instrukcji, aby wybrać jeden z wielu bloków kodu do wykonania.
Składnia
switch(expression) {
case x:
// code block
break;
case y:
// code block
break;
default:
// code block
}
Tak to działa:
- Wyrażenie przełącznika jest oceniane raz.
- Wartość wyrażenia jest porównywana z wartościami każdego przypadku.
- Jeśli istnieje dopasowanie, wykonywany jest powiązany blok kodu.
- Jeśli nie ma dopasowania, wykonywany jest domyślny blok kodu.
Przykład
Metoda getDay()
zwraca dzień tygodnia jako liczbę z zakresu od 0 do 6.
(Niedziela=0, Poniedziałek=1, Wtorek=2 ..)
W tym przykładzie użyto numeru dnia tygodnia do obliczenia nazwy dnia tygodnia:
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";
}
Wynikiem dnia będzie:
Saturday
Słowo kluczowe przerwy
Kiedy JavaScript dotrze do break
słowa kluczowego, wyłamuje się z bloku przełącznika.
Spowoduje to zatrzymanie wykonywania wewnątrz bloku przełączników.
Nie ma potrzeby łamania ostatniej obudowy w bloku przełączników. Blok i tak się łamie (kończy).
Uwaga: Jeśli pominiesz instrukcję break, następna sprawa zostanie wykonana, nawet jeśli ocena nie pasuje do przypadku.
Domyślne słowo kluczowe
Słowo default
kluczowe określa kod do uruchomienia, jeśli nie ma dopasowania wielkości liter:
Przykład
Metoda getDay()
zwraca dzień tygodnia jako liczbę z zakresu od 0 do 6.
Jeśli dzisiaj nie jest ani sobota (6), ani niedziela (0), napisz domyślną wiadomość:
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";
}
Wynikiem tekstu będzie:
Today is Saturday
Sprawa default
nie musi być ostatnim przypadkiem w bloku przełączników:
Przykład
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";
}
Jeśli default
nie jest to ostatni przypadek w bloku przełączników, pamiętaj, aby zakończyć domyślny przypadek przerwą.
Wspólne bloki kodu
Czasami będziesz chciał, aby różne przypadki przełączników używały tego samego kodu.
W tym przykładzie 4 i 5 mają ten sam blok kodu, a 0 i 6 inny blok kodu:
Przykład
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";
}
Szczegóły przełączania
Jeśli wiele obserwacji odpowiada wartości obserwacji, wybierany jest pierwszy przypadek.
Jeśli nie zostaną znalezione żadne pasujące przypadki, program kontynuuje do domyślnej etykiety.
Jeśli nie zostanie znaleziona żadna etykieta domyślna, program kontynuuje wykonywanie instrukcji po przełączniku .
Ścisłe porównanie
Przypadki Switch używają ścisłego porównania (===).
Aby wartości były zgodne, muszą być tego samego typu.
Ścisłe porównanie może być prawdziwe tylko wtedy, gdy operandy są tego samego typu.
W tym przykładzie nie będzie dopasowania dla x:
Przykład
let x = "0";
switch (x) {
case 0:
text = "Off";
break;
case 1:
text = "On";
break;
default:
text = "No value found";
}