logo

JavaScript-växlingsförklaring

De JavaScript switch-sats utvärderar ett uttryck och exekverar ett kodblock baserat på matchande fall. Det ger ett alternativ till långa if-else-kedjor, vilket förbättrar läsbarheten och underhållsbarheten, särskilt när du hanterar flera villkorade grenar.

Innehållsförteckning

fmovies

Byt uttalande syntax

switch (expression) {  case value1:  // code block 1;  break;  case value2:  // code block 2;  break;  ...  default:  // default code block; }>
  • Expression> är värdet som du vill jämföra.
  • Case value1>,case value2>, etc. representerar de möjliga värdena förexpression>.
  • break>uttalande avslutarswitch>påstående. Utan det kommer avrättningen att fortsätta till nästa fall.
  • Default>anger koden som ska köras om inget av fallen matcharexpression>.

Hur Switch Statement fungerar

  • Utvärdering : Uttrycket inutiswitch>påståendet utvärderas en gång.
  • Jämförelse : Värdet på uttrycket jämförs med varjecase>etikett (med strikt jämlikhet===>).
  • Avrättning : Om en matchning hittas, motsvarande kodblock efter matchningencase>etiketten exekveras. Om ingen matchning hittas, hoppar exekveringen tilldefault>fall (om det finns) eller fortsätter med nästa påstående efterswitch>blockera.
  • Paus uttalande : Efter exekvering av ett kodblock,break>uttalande avslutarswitch>uttalande, vilket förhindrar att verkställigheten faller igenom till efterföljande fall. Ombreak>utelämnas, kommer exekveringen att fortsätta till nästa fall (känd som fall-through).
  • Standardfall : Dendefault>fall är valfritt. Om ingen matchning hittas, kodblocket underdefault>avrättas.

Flödesschema för Switch Statement



Exempel på byte:

Här kommer vi att skriva ut dagens namn 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>

Förklaring:

  • Day>är satt till3>.
  • Deswitch>uttalande utvärderarday>.
  • Eftersomday>är3>, dencase 3>blocket exekveras, tilldelning'Wednesday'>tilldayName>.
  • Debreak>uttalande avslutarswitch>uttalande, vilket förhindrar att verkställigheten fortsätter i andra fall.

Exempel på byte:

Här kommer vi att kontrollera vårt betyg med hjälp av ett växelhus.

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

Förklaring:

  • Grade>tilldelas värdet'B'>.
  • Deswitch>uttalande utvärderar värdet avgrade>.
  • Eftersomgrade>är'B'>, kodblocket eftercase 'B':>avrättas.
  • Deresult>variabeln tilldelas strängen'B (Average)'>.
  • Debreak>uttalande avslutarswitch>påstående.
  • result>loggas till konsolen, som matar ut'B (Average)'>.

Bryt nyckelord

Debreak>nyckelordet används för att avsluta exekveringen av en loop eller enswitch>påstående.

standardsökord

Dedefault>nyckelordet används inom enswitch>uttalande som ett reservalternativ när ingen av decase>uttryck matchar värdet som utvärderas. Det fungerar på samma sätt somelse>uttalande i enif...else>kedja, vilket ger en standardåtgärd att vidta när inga andra specifika fall matchar.

Placeringen av standardfallet spelar ingen roll:

Oavsett dess placering exekveras standardfallet endast om inget av de andra ärendevillkoren är uppfyllda. Så att sätta det i början, mitten eller slutet ändrar inte kärnlogiken (såvida du inte använder en mindre vanlig teknik som kallas genomgång).

vi kommer att skriva ut standardfallet.

för loop java
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>

Vanliga kodblock

I vissa fall måste vi använda samma kod för flera växelfall. Låt oss se ett exempel på hur man gör det:

Vanliga kodblock Exempel:

Här kommer vi att använda samma kodblock för två olika kopplingsfall.

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>

Förklaring:

  • Grade>tilldelas värdet'A'>.
  • Deswitch>uttalande utvärderar värdet avgrade>.
  • Eftersomgrade>tändstickor'A'>, kodblocket eftercase 'A':>exekveras, inställningresult>till'Grade is excellent'>.
  • Debreak>uttalande avslutarswitch>påstående.
  • Result>loggas till konsolen, som matar ut'Grade is excellent'>.

Notera: Om flera switchfall matchar ett värde, exekveras det första.