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ę
- Kaip veikia perjungimo pareiškimas
- Perjungimo pareiškimo schema
- Bendrieji kodų blokai
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 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 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>.- The
switch>teiginys vertinaday>. - Nuo
day>yra3>,case 3>blokas vykdomas, priskyrimas'Wednesday'>įdayName>. - The
break>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'>.- The
switch>teiginys įvertina vertęgrade>. - Nuo
grade>yra'B'>, sekantis kodų blokascase 'B':>yra įvykdytas. - The
result>kintamajam priskiriama eilutė'B (Average)'>. - The
break>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 statusasJavaScript
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ų blokascase 'A':>yra vykdomas, nustatymasresult>į'Grade is excellent'>. - The
break>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.