The JavaScript-kytkinlauseke arvioi lausekkeen ja suorittaa koodilohkon vastaavien tapausten perusteella. Se tarjoaa vaihtoehdon pitkille if-else-ketjuille, mikä parantaa luettavuutta ja ylläpidettävyyttä erityisesti käsiteltäessä useita ehdollisia haaroja.
Sisällysluettelo
- Vaihda lausekkeen syntaksi
- Miten Switch Statement toimii
- Switch-lausunnon vuokaavio
- Yleiset koodilohkot
Vaihda lausekkeen syntaksi
switch (expression) { case value1: // code block 1; break; case value2: // code block 2; break; ... default: // default code block; }>
-
Expression>
on arvo, jota haluat verrata. Case value1>
,case value2>
jne. edustavat mahdollisia arvojaexpression>
.break>
lausunto lopettaaswitch>
lausunto. Ilman sitä täytäntöönpano jatkuu seuraavaan tapaukseen.Default>
määrittää koodin, joka suoritetaan, jos mikään tapauksista ei vastaaexpression>
.
Miten Switch Statement toimii
- Arviointi : Ilmaisu sisällä
switch>
lausunto arvioidaan kerran. - Vertailu : Lausekkeen arvoa verrataan kuhunkin
case>
etiketti (käyttäen tiukkaa tasa-arvoa===>
). - Toteutus : Jos vastaavuus löytyy, vastaava koodilohko vastaavuuden jälkeen
case>
etiketti suoritetaan. Jos vastaavuutta ei löydy, suoritus hyppää kohtaandefault>
tapaus (jos olemassa) tai jatkuu seuraavalla lauseella lauseen jälkeenswitch>
lohko. - Taukolausunto : Koodilohkon suorittamisen jälkeen
break>
lausunto lopettaaswitch>
lauseke, joka estää täytäntöönpanoa siirtymästä myöhempään tapaukseen. Josbreak>
jätetään pois, suoritus jatkuu seuraavaan tapaukseen (tunnetaan nimellä fall-through). - Oletustapaus :
default>
tapaus on valinnainen. Jos vastaavuutta ei löydy, koodilohko alladefault>
teloitetaan.
Switch-lausunnon vuokaavio
Esimerkki kytkinlausekkeesta:
Täällä tulostamme päivän nimen päivänä 3.
muuntaa merkkijonoksi javaJavascript
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>
Lähtö
Wednesday>
Selitys:
Day>
on asetettu3>
.- The
switch>
lausunto arvioiday>
. - Siitä asti kun
day>
On3>
,case 3>
lohko suoritetaan, määritetään'Wednesday'>
todayName>
. - The
break>
lausunto päättyyswitch>
lausunto, joka estää täytäntöönpanon jatkumisen muissa tapauksissa.
Esimerkki kytkinlausekkeesta:
Täällä tarkistamme arvosanamme kytkinkotelon avulla.
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);>
Lähtö
B (Average)>
Selitys:
Grade>
on annettu arvo'B'>
.- The
switch>
lausunto arvioi arvongrade>
. - Siitä asti kun
grade>
On'B'>
, seuraava koodilohkocase 'B':>
teloitetaan. - The
result>
muuttujalle on määritetty merkkijono'B (Average)'>
. - The
break>
lausunto lopettaaswitch>
lausunto. result>
kirjautuu konsoliin, joka tulostaa'B (Average)'>
.
Riko avainsana
Thebreak>
avainsanaa käytetään lopettamaan silmukan tai aswitch>
lausunto.
oletusavainsana
Thedefault>
avainsanaa käytetään sisällä aswitch>
lauseke varavaihtoehtona, kun mikään niistä ei olecase>
lausekkeet vastaavat arvioitavaa arvoa. Se toimii samalla tavalla kuinelse>
lausuma anif...else>
ketju, joka tarjoaa oletustoiminnon, joka suoritetaan, kun mikään muu tapaus ei täsmää.
java-suunnittelukuvioita
Oletustapauksen sijainnilla ei ole väliä:
Sijoituksestaan riippumatta oletustapaus suoritetaan vain, jos mikään muu tapauksen ehto ei täyty. Joten sen sijoittaminen alkuun, keskelle tai loppuun ei muuta ydinlogiikkaa (ellet käytä vähemmän yleistä tekniikkaa, nimeltä fall-through).
tulostamme oletuskirjaimen.
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);>
Lähtö
Invalid day>
Yleiset koodilohkot
Joissakin tapauksissa meidän on käytettävä samaa koodia useissa vaihtotapauksissa. Katsotaanpa esimerkkiä kuinka se tehdään:
tehtaan suunnittelukuvio
Yleiset koodilohkot Esimerkki:
Tässä samat koodilohkot kahdelle eri kytkintapaukselle.
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)>
Lähtö
Grade is excellent>
Selitys:
Grade>
on annettu arvo'A'>
.- The
switch>
lausunto arvioi arvongrade>
. - Siitä asti kun
grade>
Ottelut'A'>
, seuraava koodilohkocase 'A':>
suoritetaan, asetusresult>
to'Grade is excellent'>
. - The
break>
lausunto lopettaaswitch>
lausunto. Result>
kirjautuu konsoliin, joka tulostaa'Grade is excellent'>
.
Huomautus: Jos useat kytkintapaukset vastaavat arvoa, ensimmäinen suoritetaan.