logo

JavaScript switch-erklæring

Det JavaScript switch-erklæring evaluerer et udtryk og udfører en kodeblok baseret på matchende tilfælde. Det giver et alternativ til lange if-else-kæder, hvilket forbedrer læsbarheden og vedligeholdelsen, især ved håndtering af flere betingede grene.

Indholdsfortegnelse



Skift erklæringssyntaks

switch (expression) {  case value1:  // code block 1;  break;  case value2:  // code block 2;  break;  ...  default:  // default code block; }>
  • Expression> er den værdi, du vil sammenligne.
  • Case value1>,case value2>osv., repræsenterer de mulige værdier afexpression>.
  • break>erklæring afslutterswitch>udmelding. Uden den vil eksekveringen fortsætte i næste sag.
  • Default>angiver den kode, der skal køres, hvis ingen af ​​tilfældene matcherexpression>.

Hvordan Switch Statement fungerer

  • Evaluering : Udtrykket inde iswitch>redegørelsen vurderes én gang.
  • Sammenligning : Værdien af ​​udtrykket sammenlignes med hvercase>mærke (ved at bruge streng lighed===>).
  • Udførelse : Hvis der findes et match, følger den tilsvarende kodeblok efter matchningencase>etiketten udføres. Hvis der ikke findes noget match, springer udførelsen tildefault>case (hvis til stede) eller fortsætter med den næste erklæring efterswitch>blok.
  • Pauseerklæring : Efter at have udført en kodeblok, vil denbreak>erklæring afslutterswitch>erklæring, hvilket forhindrer, at fuldbyrdelse falder igennem til efterfølgende sager. Hvisbreak>er udeladt, vil udførelsen fortsætte til næste sag (kendt som gennemfald).
  • Standard sag : Detdefault>sagen er valgfri. Hvis der ikke findes noget match, kodeblokken underdefault>er henrettet.

Flowchart af Switch Statement

Eksempel på skifteerklæring:

Her udskriver vi dagens navn 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>

Produktion
Wednesday>

Forklaring:

  • Day>er indstillet til3>.
  • Detswitch>erklæring vurdererday>.
  • Sidenday>er3>, detcase 3>blokken udføres, tildeling'Wednesday'>tildayName>.
  • Detbreak>erklæring afslutterswitch>erklæring, der forhindrer eksekvering i at fortsætte i andre sager.

Eksempel på skifteerklæring:

Her vil vi tjekke vores karakter ved at bruge en afbryderkasse.



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);>

Produktion
B (Average)>

Forklaring:

  • Grade>tildeles værdien'B'>.
  • Detswitch>erklæring vurderer værdien afgrade>.
  • Sidengrade>er'B'>, kodeblokken eftercase 'B':>er henrettet.
  • Detresult>variablen tildeles strengen'B (Average)'>.
  • Detbreak>erklæring afslutterswitch>udmelding.
  • result>logges til konsollen, som udsender'B (Average)'>.

Bryd søgeord

Detbreak>nøgleordet bruges til at afslutte udførelsen af ​​en loop eller enswitch>udmelding.

verilog sagsfremstilling

standard søgeord

Detdefault>søgeordet bruges inden for enswitch>erklæring som en reservemulighed, når ingen af ​​decase>udtryk matcher den værdi, der evalueres. Det virker på samme måde somelse>erklæring i enif...else>kæde, hvilket giver en standardhandling, der skal udføres, når ingen andre specifikke tilfælde matcher.

Placeringen af ​​standardsagen er ligegyldig:

Uanset dens placering, bliver standardsagen kun eksekveret, hvis ingen af ​​de andre sagsbetingelser er opfyldt. Så at sætte det i begyndelsen, midten eller slutningen ændrer ikke kernelogikken (medmindre du bruger en mindre almindelig teknik kaldet gennemfald).



vi udskriver standardkassen.

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);>

Produktion
Invalid day>

Fælles kodeblokke

I nogle tilfælde skal vi bruge den samme kode til flere switch cases. Lad os se et eksempel på, hvordan man gør det:

Almindelige kodeblokke Eksempel:

Her vil vi samme kodeblokke for to forskellige switch cases.

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)>

Produktion
Grade is excellent>

Forklaring:

  • Grade>tildeles værdien'A'>.
  • Detswitch>erklæring vurderer værdien afgrade>.
  • Sidengrade>Tændstikker'A'>, kodeblokken eftercase 'A':>udføres, indstillingresult>til'Grade is excellent'>.
  • Detbreak>erklæring afslutterswitch>udmelding.
  • Result>logges til konsollen, som udsender'Grade is excellent'>.

Bemærk: Hvis flere switch cases matcher en værdi, udføres den første.