The Stavek preklopa JavaScript ovrednoti izraz in izvede blok kode na podlagi ujemajočih se primerov. Zagotavlja alternativo dolgim verigam if-else, izboljšuje berljivost in vzdržljivost, zlasti pri obravnavanju več pogojnih vej.
Kazalo
tostring java
Sintaksa izjave Switch
switch (expression) { case value1: // code block 1; break; case value2: // code block 2; break; ... default: // default code block; }>
-
Expression>
je vrednost, ki jo želite primerjati. Case value1>
,case value2>
, itd., predstavljajo možne vrednostiexpression>
.break>
izjava prekineswitch>
izjava. Brez tega se bo izvršba nadaljevala v naslednji zadevi.Default>
določa kodo za zagon, če se nobeden od primerov ne ujema zexpression>
.
Kako deluje izjava Switch
- Evalvacija : Izraz znotraj
switch>
izjava se oceni enkrat. - Primerjava : Vrednost izraza se primerja z vsakim
case>
oznaka (z uporabo stroge enakosti===>
). - Izvedba : Če je ujemanje najdeno, ustrezen blok kode, ki sledi ujemanju
case>
oznaka je izvedena. Če ni ujemanja, se izvršitev preskoči nadefault>
primeru (če je prisoten) ali se nadaljuje z naslednjim stavkom zaswitch>
blok. - Break Statement : Po izvedbi bloka kode se
break>
izjava prekineswitch>
izjava, ki preprečuje, da bi izvršba padla v nadaljnje primere. čebreak>
je izpuščen, se bo izvajanje nadaljevalo z naslednjim primerom (znano kot padci). - Privzeta velikost : The
default>
primer ni obvezen. Če ni ujemanja, je blok kode poddefault>
se izvrši.
Diagram poteka izjave Switch
Primer izjave Switch:
Tukaj bomo natisnili ime 3. dne.
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>
Izhod
Wednesday>
Pojasnilo:
Day>
je nastavljeno na3>
.- The
switch>
izjava ocenjujeday>
. - Od
day>
je3>
, thecase 3>
blok se izvede, dodelitev'Wednesday'>
dodayName>
. - The
break>
izjava končaswitch>
izjavo, ki preprečuje nadaljevanje izvršbe v druge zadeve.
Primer izjave Switch:
Tu bomo svojo oceno preverili z uporabo preklopnega primera.
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);>
Izhod
B (Average)>
Pojasnilo:
Grade>
je dodeljena vrednost'B'>
.- The
switch>
izjava ovrednoti vrednostgrade>
. - Od
grade>
je'B'>
, sledi blok kodecase 'B':>
se izvrši. - The
result>
spremenljivki je dodeljen niz'B (Average)'>
. - The
break>
izjava prekineswitch>
izjava. result>
je prijavljen v konzolo, ki izpiše'B (Average)'>
.
Prekini ključno besedo
Thebreak>
ključna beseda se uporablja za prekinitev izvajanja zanke ali aswitch>
izjava.
privzeta ključna beseda
Thedefault>
ključna beseda je uporabljena znotraj aswitch>
stavek kot nadomestna možnost, ko nobeden odcase>
izrazi se ujemajo z vrednostjo, ki se ocenjuje. Deluje podobno kotelse>
izjava v anif...else>
veriga, ki zagotavlja privzeto dejanje, ki se izvede, ko se ne ujema noben drug poseben primer.
tanek algoritem
Položaj privzetega primera ni pomemben:
Ne glede na njegovo postavitev se privzeti primer izvede le, če ni izpolnjen noben od drugih pogojev primera. Torej, če ga postavite na začetek, sredino ali konec, ne spremenite osnovne logike (razen če uporabljate manj običajno tehniko, imenovano padci skozi).
natisnili bomo privzeti primer.
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);>
Izhod
Invalid day>
Skupni kodni bloki
V nekaterih primerih moramo uporabiti isto kodo za več primerov preklopa. Oglejmo si primer, kako to storiti:
Skupni kodni bloki primer:
Tukaj bomo enake kodne bloke za dva različna primera preklopa.
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)>
Izhod
Grade is excellent>
Pojasnilo:
Grade>
je dodeljena vrednost'A'>
.- The
switch>
izjava ovrednoti vrednostgrade>
. - Od
grade>
tekme'A'>
, sledi blok kodecase 'A':>
se izvaja, nastavitevresult>
do'Grade is excellent'>
. - The
break>
izjava prekineswitch>
izjava. Result>
je prijavljen v konzolo, ki izpiše'Grade is excellent'>
.
Opomba: Če se več primerov stikala ujema z vrednostjo, se izvede prvi.
pretvori niz v int