logo

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

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 iswitch>uttalelsen vurderes én gang.
  • Sammenligning : Verdien av uttrykket sammenlignes med hvercase>merke (ved bruk av streng likhet===>).
  • Henrettelse : Hvis et samsvar blir funnet, følger den tilsvarende kodeblokken etter samsvaretcase>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, vilbreak>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 : Dendefault>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>.
  • Deswitch>uttalelse vurdererday>.
  • Sidenday>er3>, dencase 3>blokken utføres, tilordning'Wednesday'>tildayName>.
  • Debreak>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'>.
  • Deswitch>uttalelse evaluerer verdien avgrade>.
  • Sidengrade>er'B'>, kodeblokken som følgercase 'B':>er henrettet.
  • Deresult>variabelen er tildelt strengen'B (Average)'>.
  • Debreak>uttalelsen avslutterswitch>uttalelse.
  • result>logges til konsollen, som sender ut'B (Average)'>.

Bryt søkeord

Debreak>nøkkelordet brukes til å avslutte utførelsen av en loop eller enswitch>uttalelse.

verilog saksuttalelse

standard søkeord

Dedefault>nøkkelordet brukes innenfor enswitch>uttalelse som et reservealternativ når ingen av decase>uttrykk samsvarer med verdien som evalueres. Den fungerer på samme måte somelse>uttalelse i enif...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'>.
  • Deswitch>uttalelse evaluerer verdien avgrade>.
  • Sidengrade>fyrstikker'A'>, kodeblokken som følgercase 'A':>er utført, innstillingresult>til'Grade is excellent'>.
  • Debreak>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.