JavaScript Switch Statement
Příkaz switch
se používá k provádění různých akcí na základě různých podmínek.
Příkaz JavaScript Switch
Použijte switch
příkaz k výběru jednoho z mnoha bloků kódu, které se mají provést.
Syntax
switch(expression) {
case x:
// code block
break;
case y:
// code block
break;
default:
// code block
}
Funguje to takto:
- Výraz přepínače je vyhodnocen jednou.
- Hodnota výrazu je porovnána s hodnotami každého případu.
- Pokud existuje shoda, provede se příslušný blok kódu.
- Pokud není shoda, provede se výchozí blok kódu.
Příklad
Metoda getDay()
vrací den v týdnu jako číslo mezi 0 a 6.
(Neděle=0, pondělí=1, úterý=2 ..)
Tento příklad používá číslo dne v týdnu k výpočtu názvu dne v týdnu:
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";
}
Výsledkem dne bude:
Sunday
Klíčové slovo přestávky
Když JavaScript dosáhne break
klíčového slova, vypadne z bloku přepínače.
Tím se zastaví provádění uvnitř bloku přepínačů.
Není nutné rozbíjet poslední pouzdro ve spínacím bloku. Blok se tam stejně zlomí (končí).
Poznámka: Pokud vynecháte příkaz break, bude proveden další případ, i když se vyhodnocení neshoduje s případem.
Výchozí klíčové slovo
Klíčové default
slovo určuje kód, který se má spustit, pokud neexistuje shoda velkých a malých písmen:
Příklad
Metoda getDay()
vrací den v týdnu jako číslo mezi 0 a 6.
Pokud dnes není ani sobota (6) ani neděle (0), napište výchozí zprávu:
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";
}
Výsledkem textu bude:
Today is Sunday
Pouzdro default
nemusí být posledním případem v bloku spínačů:
Příklad
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";
}
Pokud default
to není poslední případ v bloku přepínačů, nezapomeňte ukončit výchozí případ přestávkou.
Společné bloky kódu
Někdy budete chtít, aby různé případy přepínačů používaly stejný kód.
V tomto příkladu 4 a 5 sdílejí stejný blok kódu a 0 a 6 sdílejí jiný blok kódu:
Příklad
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";
}
Podrobnosti o přepínání
Pokud se hodnotě velikosti písmen shoduje více případů, vybere se první případ.
Pokud nejsou nalezeny žádné odpovídající případy, program pokračuje k výchozímu štítku.
Pokud není nalezen žádný výchozí štítek, program pokračuje k příkazu (příkazům) za přepínačem .
Přísné srovnání
Případy přepnutí používají striktní srovnání (===).
Aby se hodnoty shodovaly, musí být stejného typu.
Přísné srovnání může být pravdivé pouze tehdy, jsou-li operandy stejného typu.
V tomto příkladu nebude žádná shoda pro x:
Příklad
let x = "0";
switch (x) {
case 0:
text = "Off";
break;
case 1:
text = "On";
break;
default:
text = "No value found";
}