„JavaScript“ jungiklio pareiškimas

„JavaScript“ jungiklio pareiškimas

The „JavaScript“ jungiklio teiginys įvertina išraišką ir vykdo kodo bloką pagal atitikimo atvejus. Tai yra alternatyva ilgoms „jei-kitaip“ grandinėms, gerinant skaitomumą ir priežiūrą, ypač tvarkant kelias sąlygines šakas.

Turinys

Perjungti pareiškimo sintaksę

switch (expression) {  case value1:  // code block 1;  break;  case value2:  // code block 2;  break;  ...  default:  // default code block; } 
  • Expression> yra vertė, kurią norite palyginti.
  • Case value1> , case value2> ir tt, reiškia galimas reikšmes expression> .
  • break> pareiškimas nutraukia switch> pareiškimas. Be jo, vykdymas bus tęsiamas kitoje byloje.
  • Default> nurodo kodą, kuris bus paleistas, jei nė vienas atvejis neatitinka expression> .

Kaip veikia perjungimo pareiškimas

  • Įvertinimas : išraiška viduje switch> teiginys vertinamas vieną kartą.
  • Palyginimas : išraiškos reikšmė lyginama su kiekviena case> etiketė (naudojant griežtą lygybę ===> ).
  • Vykdymas : jei randama atitiktis, atitinkamas kodo blokas po atitikimo case> etiketė vykdoma. Jei nerandama atitikties, vykdymas pereina į default> atvejis (jei yra) arba tęsiamas su kitu teiginiu po switch> blokas.
  • Pertraukos pareiškimas : įvykdžius kodo bloką, break> pareiškimas nutraukia switch> pareiškimą, neleidžiantį vykdyti tolesnių bylų. Jeigu break> yra praleistas, vykdymas bus tęsiamas kitam atvejui (žinomai kaip kritimas).
  • Numatytasis atvejis : default> atvejis neprivalomas. Jei atitikmens nerasta, kodo blokas žemiau default> yra įvykdytas.

Perjungimo pareiškimo schema

Perjungimo pareiškimo pavyzdys:

Čia mes išspausdinsime dienos pavadinimą 3 dieną.

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 

Išvestis
Wednesday 

Paaiškinimas:

  • Day> yra nustatytas 3> .
  • The switch> teiginys vertina day> .
  • Nuo day> yra 3> , case 3> blokas vykdomas, priskyrimas 'Wednesday'> į dayName> .
  • The break> pareiškimas baigiasi switch> pareiškimą, neleidžiantį vykdyti vykdymo kitose bylose.

Perjungimo pareiškimo pavyzdys:

Čia mes patikrinsime savo įvertinimą naudodami jungiklio dėklą.

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

Išvestis
B (Average) 

Paaiškinimas:

  • Grade> priskiriama vertė 'B'> .
  • The switch> teiginys įvertina vertę grade> .
  • Nuo grade> yra 'B'> , sekantis kodų blokas case 'B':> yra įvykdytas.
  • The result> kintamajam priskiriama eilutė 'B (Average)'> .
  • The break> pareiškimas nutraukia switch> pareiškimas.
  • result> yra prisijungęs prie konsolės, kuri išveda 'B (Average)'> .

Break Keyword

The break> raktinis žodis naudojamas užbaigti ciklo vykdymą arba a switch> pareiškimas.

numatytasis raktinis žodis

The default> raktinis žodis naudojamas a switch> teiginys kaip atsarginė parinktis, kai nė vienas iš case> išraiškos atitinka vertinamą reikšmę. Jis veikia panašiai kaip else> pareiškimas an if...else> grandinę, numatytą veiksmą, kurį reikia atlikti, kai nesutampa jokie kiti konkretūs atvejai.

Numatytojo atvejo padėtis neturi reikšmės:

Neatsižvelgiant į jo vietą, numatytasis atvejis vykdomas tik tuo atveju, jei neįvykdoma nė viena iš kitų atvejo sąlygų. Taigi, įtraukus jį į pradžią, vidurį ar pabaigą, pagrindinė logika nekeičiama (nebent naudojate rečiau įprastą techniką, vadinamą kritimo).

atspausdinsime numatytąjį didžiąją raidę.

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

Išvestis
Invalid day 

Bendrieji kodų blokai

Kai kuriais atvejais turime naudoti tą patį kodą keliems perjungimo atvejams. Pažiūrėkime, kaip tai padaryti:

Bendrieji kodų blokai Pavyzdys:

Čia mes pateiksime tuos pačius kodų blokus dviem skirtingiems jungiklių atvejams.

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) 

Išvestis
Grade is excellent 

Paaiškinimas:

  • Grade> priskiriama vertė 'A'> .
  • The switch> teiginys įvertina vertę grade> .
  • Nuo grade> degtukai 'A'> , sekantis kodų blokas case 'A':> yra vykdomas, nustatymas result> į 'Grade is excellent'> .
  • The break> pareiškimas nutraukia switch> pareiškimas.
  • Result> yra prisijungęs prie konsolės, kuri išveda 'Grade is excellent'> .

Pastaba: Jei keli perjungimo atvejai atitinka reikšmę, vykdomas pirmasis.