logo

„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



Java 8 funkcijos

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šmesexpression>.
  • break>pareiškimas nutraukiaswitch>pareiškimas. Be jo, vykdymas bus tęsiamas kitoje byloje.
  • Default>nurodo kodą, kuris bus paleistas, jei nė vienas atvejis neatitinkaexpression>.

Kaip veikia perjungimo pareiškimas

  • Įvertinimas : išraiška vidujeswitch>teiginys vertinamas vieną kartą.
  • Palyginimas : išraiškos reikšmė lyginama su kiekvienacase>etiketė (naudojant griežtą lygybę===>).
  • Vykdymas : jei randama atitiktis, atitinkamas kodo blokas po atitikimocase>etiketė vykdoma. Jei nerandama atitikties, vykdymas pereina įdefault>atvejis (jei yra) arba tęsiamas su kitu teiginiu poswitch>blokas.
  • Pertraukos pareiškimas : įvykdžius kodo bloką,break>pareiškimas nutraukiaswitch>pareiškimą, neleidžiantį vykdyti tolesnių bylų. Jeigubreak>yra praleistas, vykdymas bus tęsiamas kitam atvejui (žinomai kaip kritimas).
  • Numatytasis atvejis :default>atvejis neprivalomas. Jei atitikmens nerasta, kodo blokas žemiaudefault>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 nustatytas3>.
  • Theswitch>teiginys vertinaday>.
  • Nuoday>yra3>,case 3>blokas vykdomas, priskyrimas'Wednesday'>įdayName>.
  • Thebreak>pareiškimas baigiasiswitch>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'>.
  • Theswitch>teiginys įvertina vertęgrade>.
  • Nuograde>yra'B'>, sekantis kodų blokascase 'B':>yra įvykdytas.
  • Theresult>kintamajam priskiriama eilutė'B (Average)'>.
  • Thebreak>pareiškimas nutraukiaswitch>pareiškimas.
  • result>yra prisijungęs prie konsolės, kuri išveda'B (Average)'>.

Break Keyword

Thebreak>raktinis žodis naudojamas užbaigti ciklo vykdymą arba aswitch>pareiškimas.

numatytasis raktinis žodis

Thedefault>raktinis žodis naudojamas aswitch>teiginys kaip atsarginė parinktis, kai nė vienas išcase>išraiškos atitinka vertinamą reikšmę. Jis veikia panašiai kaipelse>pareiškimas anif...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ę.

git statusas
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'>.
  • Theswitch>teiginys įvertina vertęgrade>.
  • Nuograde>degtukai'A'>, sekantis kodų blokascase 'A':>yra vykdomas, nustatymasresult>į'Grade is excellent'>.
  • Thebreak>pareiškimas nutraukiaswitch>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.