logo

Vyhlásenie o prepnutí JavaScriptu

The Príkaz na prepnutie JavaScriptu vyhodnotí výraz a vykoná blok kódu na základe zodpovedajúcich prípadov. Poskytuje alternatívu k dlhým reťazcom if-else, zlepšuje čitateľnosť a udržiavateľnosť, najmä pri manipulácii s viacerými podmienenými vetvami.

Obsah



Syntax príkazu Switch

switch (expression) {  case value1:  // code block 1;  break;  case value2:  // code block 2;  break;  ...  default:  // default code block; }>
  • Expression> je hodnota, ktorú chcete porovnať.
  • Case value1>,case value2>, atď., predstavujú možné hodnotyexpression>.
  • break>vyhlásenie ukončujeswitch>vyhlásenie. Bez nej bude exekúcia pokračovať v ďalšom prípade.
  • Default>určuje kód, ktorý sa má spustiť, ak sa žiadny z prípadov nezhoduje sexpression>.

Ako funguje príkaz Switch

  • Hodnotenie : Výraz vo vnútriswitch>výrok sa hodnotí raz.
  • Porovnanie : Hodnota výrazu sa porovnáva s každýmcase>štítok (pri použití prísnej rovnosti===>).
  • Poprava : Ak sa nájde zhoda, po zhode nasleduje zodpovedajúci blok kóducase>štítok sa vykoná. Ak sa nenájde žiadna zhoda, poprava preskočí nadefault>prípade (ak existuje) alebo pokračuje nasledujúcim vyhlásením poswitch>blokovať.
  • Vyhlásenie o prerušení : Po vykonaní bloku kódu sabreak>vyhlásenie ukončujeswitch>vyhlásenie, ktoré bráni tomu, aby exekúcia prepadla do ďalších prípadov. Akbreak>sa vynechá, vykonávanie bude pokračovať do ďalšieho prípadu (známeho ako pád).
  • Predvolený prípad : Thedefault>prípad je voliteľný. Ak sa nenájde žiadna zhoda, blok kódu poddefault>je vykonaný.

Vývojový diagram príkazu Switch

Príklad príkazu Switch:

Tu vytlačíme názov dňa v deň 3.

Javascript
let day = 3; let dayName; switch (day) {  case 1:  dayName = 'Monday';  break;  case 2:  dayName = 'Tuesday';  break;  case 3:  dayName = 'Wednesday';  break;  case 4:  dayName = 'Thursday';  break;  case 5:  dayName = 'Friday';  break;  case 6:  dayName = 'Saturday';  break;  case 7:  dayName = 'Sunday';  break;  default:  dayName = 'Invalid day'; } console.log(dayName); // Output: Wednesday>

Výkon
Wednesday>

Vysvetlenie:

  • Day>je nastavený na3>.
  • Theswitch>vyhlásenie hodnotíday>.
  • Od rday>je3>,case 3>blok sa vykoná, priradenie'Wednesday'>dodayName>.
  • Thebreak>vyhlásenie končíswitch>vyhlásenie, ktoré bráni pokračovaniu exekúcie v iných prípadoch.

Príklad príkazu Switch:

Tu skontrolujeme náš stupeň pomocou puzdra spínača.



Javascript
let grade = 'B'; let result; switch (grade) {  case 'A':  result = 'A (Excellent)';  break;  case 'B':  result = 'B (Average)';  break;  case 'C':  result = 'C (Below than average)';  break;  default:  result = 'No Grade'; } console.log(result);>

Výkon
B (Average)>

Vysvetlenie:

  • Grade>je priradená hodnota'B'>.
  • Theswitch>vyhlásenie hodnotí hodnotugrade>.
  • Od rgrade>je'B'>, nasledujúci blok kóducase 'B':>je vykonaný.
  • Theresult>premennej je priradený reťazec'B (Average)'>.
  • Thebreak>vyhlásenie ukončujeswitch>vyhlásenie.
  • result>je prihlásený do konzoly, ktorá vypíše'B (Average)'>.

Kľúčové slovo prestávky

Thebreak>kľúčové slovo sa používa na ukončenie vykonávania cyklu alebo aswitch>vyhlásenie.

predvolené kľúčové slovo

Thedefault>kľúčové slovo sa používa v rámci aswitch>ako záložnú možnosť, keď žiadna zcase>výrazy zodpovedajú hodnotenej hodnote. Pôsobí podobne akoelse>vyhlásenie v anif...else>reťazec, ktorý poskytuje predvolenú akciu, ktorá sa má vykonať, keď sa nezhodujú žiadne iné konkrétne prípady.

Na pozícii predvoleného prípadu nezáleží:

Bez ohľadu na jeho umiestnenie sa predvolený prípad vykoná iba vtedy, ak nie je splnená žiadna z ostatných podmienok prípadu. Takže jeho umiestnenie na začiatok, stred alebo koniec nemení základnú logiku (pokiaľ nepoužívate menej bežnú techniku ​​nazývanú prepadnutie).



vytlačíme predvolený prípad.

JavaScript
let day = 8; let dayName; switch (day) {  default:  dayName = 'Invalid day';  break;  case 1:  dayName = 'Monday';  break;  case 2:  dayName = 'Tuesday';  break;  case 3:  dayName = 'Wednesday';  break;  case 4:  dayName = 'Thursday';  break;  case 5:  dayName = 'Friday';  break;  case 6:  dayName = 'Saturday';  break;  case 7:  dayName = 'Sunday';  break;   } console.log(dayName);>

Výkon
Invalid day>

Spoločné bloky kódu

V niektorých prípadoch musíme použiť rovnaký kód pre viacero prípadov prepínača. Pozrime sa na príklad, ako to urobiť:

Spoločné bloky kódu Príklad:

Tu budeme rovnaké kódové bloky pre dva rôzne prípady prepínačov.

Javascript
let grade = 'A' let result; switch (grade) {  case 'A':  result = 'Grade is excellent'  break;  case 'B':  result = 'Grade is good'  break;  case 'C':  result = 'Grade is Average '  break;  case 'D':  result = 'Grade is Poor'  break;  default:  text = 'NO grades achieved'; } console.log(result)>

Výkon
Grade is excellent>

Vysvetlenie:

  • Grade>je priradená hodnota'A'>.
  • Theswitch>vyhlásenie hodnotí hodnotugrade>.
  • Od rgrade>zápasy'A'>, nasledujúci blok kóducase 'A':>sa vykoná, nastavenieresult>do'Grade is excellent'>.
  • Thebreak>vyhlásenie ukončujeswitch>vyhlásenie.
  • Result>je prihlásený do konzoly, ktorá vypíše'Grade is excellent'>.

Poznámka: Ak sa s hodnotou zhoduje viacero prípadov prepnutia, vykoná sa prvý.