logo

JavaScript-vaihtolausunto

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

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 kuhunkincase>etiketti (käyttäen tiukkaa tasa-arvoa===>).
  • Toteutus : Jos vastaavuus löytyy, vastaava koodilohko vastaavuuden jälkeencase>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älkeenbreak>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 java
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>

Lähtö
Wednesday>

Selitys:

  • Day>on asetettu3>.
  • Theswitch>lausunto arvioiday>.
  • Siitä asti kunday>On3>,case 3>lohko suoritetaan, määritetään'Wednesday'>todayName>.
  • Thebreak>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'>.
  • Theswitch>lausunto arvioi arvongrade>.
  • Siitä asti kungrade>On'B'>, seuraava koodilohkocase 'B':>teloitetaan.
  • Theresult>muuttujalle on määritetty merkkijono'B (Average)'>.
  • Thebreak>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'>.
  • Theswitch>lausunto arvioi arvongrade>.
  • Siitä asti kungrade>Ottelut'A'>, seuraava koodilohkocase 'A':>suoritetaan, asetusresult>to'Grade is excellent'>.
  • Thebreak>lausunto lopettaaswitch>lausunto.
  • Result>kirjautuu konsoliin, joka tulostaa'Grade is excellent'>.

Huomautus: Jos useat kytkintapaukset vastaavat arvoa, ensimmäinen suoritetaan.