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
- Hvordan Switch Statement fungerer
- Flowchart af Switch Statement
- Almindelige kodeblokke
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 i
switch>redegørelsen vurderes én gang. - Sammenligning : Værdien af udtrykket sammenlignes med hver
case>mærke (ved at bruge streng lighed===>). - Udførelse : Hvis der findes et match, følger den tilsvarende kodeblok efter matchningen
case>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 den
break>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 : Det
default>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>.- Det
switch>erklæring vurdererday>. - Siden
day>er3>, detcase 3>blokken udføres, tildeling'Wednesday'>tildayName>. - Det
break>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'>.- Det
switch>erklæring vurderer værdien afgrade>. - Siden
grade>er'B'>, kodeblokken eftercase 'B':>er henrettet. - Det
result>variablen tildeles strengen'B (Average)'>. - Det
break>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'>.- Det
switch>erklæring vurderer værdien afgrade>. - Siden
grade>Tændstikker'A'>, kodeblokken eftercase 'A':>udføres, indstillingresult>til'Grade is excellent'>. - Det
break>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.