JavaScript-bytteerklæring
De JavaScript-bytteerklæring evaluerer et uttrykk og kjører en kodeblokk basert på samsvarende tilfeller. Det gir et alternativ til lange if-else-kjeder, og forbedrer lesbarheten og vedlikeholdsevnen, spesielt når du håndterer flere betingede grener.
Innholdsfortegnelse
- Bytt erklæringssyntaks
- Hvordan Switch Statement fungerer
- Flytskjema for brytererklæring
- Vanlige kodeblokker
Bytt erklæringssyntaks
switch (expression) { case value1: // code block 1; break; case value2: // code block 2; break; ... default: // default code block; } -
Expression>er verdien du vil sammenligne. -
Case value1>,case value2>, etc., representerer de mulige verdiene tilexpression>. -
break>uttalelsen avslutterswitch>uttalelse. Uten det vil henrettelsen fortsette inn i neste sak. -
Default>spesifiserer koden som skal kjøres hvis ingen av tilfellene samsvarer medexpression>.
Hvordan Switch Statement fungerer
- Evaluering : Uttrykket inne i
switch>uttalelsen vurderes én gang. - Sammenligning : Verdien av uttrykket sammenlignes med hver
case>merke (ved bruk av streng likhet===>). - Henrettelse : Hvis et samsvar blir funnet, følger den tilsvarende kodeblokken etter samsvaret
case>etiketten utføres. Hvis ingen treff blir funnet, hopper utførelsen tildefault>sak (hvis tilstede) eller fortsetter med neste uttalelse etterswitch>blokkere. - Pauseerklæring : Etter å ha utført en kodeblokk, vil
break>uttalelse avslutterswitch>uttalelse, som forhindrer at utførelse faller gjennom til påfølgende saker. Hvisbreak>er utelatt, vil utførelsen fortsette til neste sak (kjent som fall-through). - Standard sak : Den
default>sak er valgfritt. Hvis ingen treff blir funnet, kodeblokken underdefault>er henrettet.
Flytskjema for brytererklæring
Eksempel på bytteerklæring:
Her vil vi skrive ut dagsnavnet på dag 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 Produksjon
Wednesday
Forklaring:
-
Day>er satt til3>. - De
switch>uttalelse vurdererday>. - Siden
day>er3>, dencase 3>blokken utføres, tilordning'Wednesday'>tildayName>. - De
break>uttalelsen avslutterswitch>uttalelse, og hindrer at henrettelsen fortsetter inn i andre saker.
Eksempel på bytteerklæring:
Her vil vi sjekke karakteren vår ved å bruke en bryterboks.
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); Produksjon
B (Average)
Forklaring:
-
Grade>er tildelt verdien'B'>. - De
switch>uttalelse evaluerer verdien avgrade>. - Siden
grade>er'B'>, kodeblokken som følgercase 'B':>er henrettet. - De
result>variabelen er tildelt strengen'B (Average)'>. - De
break>uttalelsen avslutterswitch>uttalelse. -
result>logges til konsollen, som sender ut'B (Average)'>.
Bryt søkeord
De break> nøkkelordet brukes til å avslutte utførelsen av en loop eller en switch> uttalelse.
standard søkeord
De default> nøkkelordet brukes innenfor en switch> uttalelse som et reservealternativ når ingen av de case> uttrykk samsvarer med verdien som evalueres. Den fungerer på samme måte som else> uttalelse i en if...else> kjede, og gir en standardhandling som skal utføres når ingen andre spesifikke tilfeller samsvarer.
Plassering av standard sak spiller ingen rolle:
Uavhengig av plasseringen, blir standardsaken kun utført hvis ingen av de andre saksbetingelsene er oppfylt. Så å sette det i begynnelsen, midten eller slutten endrer ikke kjernelogikken (med mindre du bruker en mindre vanlig teknikk som kalles fall-through).
vi vil skrive ut standardsaken.
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); Produksjon
Invalid day
Vanlige kodeblokker
I noen tilfeller må vi bruke samme kode for flere brytertilfeller. La oss se et eksempel på hvordan du gjør det:
Vanlige kodeblokker Eksempel:
Her vil vi ha samme kodeblokker for to forskjellige brytertilfeller.
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) Produksjon
Grade is excellent
Forklaring:
-
Grade>er tildelt verdien'A'>. - De
switch>uttalelse evaluerer verdien avgrade>. - Siden
grade>fyrstikker'A'>, kodeblokken som følgercase 'A':>er utført, innstillingresult>til'Grade is excellent'>. - De
break>uttalelse avslutterswitch>uttalelse. -
Result>logges til konsollen, som sender ut'Grade is excellent'>.
Merk: Hvis flere byttetilfeller samsvarer med en verdi, utføres den første.