English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Switch è una statement condizionale come if ... else ..., ma la differenza è che la statement switch consente di testare se una variabile è uguale a una lista di valori.
Usa switch per selezionare uno dei molti blocchi di codice da eseguire. È una soluzione perfetta per if...else... nested statements.
Una statement switch è come segue:
switch (expression) { case value1: //Esegui la statement //Il risultato dell'espressione corrisponde a value1 break; case value2: //Esegui la statement //Il risultato dell'espressione corrisponde a value2 break; ... case valueN: //Esegui la statement //Il risultato dell'espressione corrisponde a value N break; default: //Quando non viene eseguito alcuno dei punti sopra //Esegui questo blocco di codice }
Secondo la logica del blocco di codice sopra, questo è l'ordine degli eventi che avverranno:
L'espressione switch viene valutata una volta
Confronta il valore dell'espressione con il valore di ogni situazione
Se corrisponde, esegui il blocco di codice relativo
Se nessuna situazione corrisponde, esegui il blocco di codice di default
Esempio seguente utilizza il numero del giorno lavorativo per calcolare il giorno della settimana:
var day; switch (new Date().getDay()) { case 0: day = "Sunday"; break; case 1: day = "Monday"; break; case 2: day = "Tuesday"; break; case 3: day = "Wednesday"; break; case 4: day = "Thursday"; break; case 5: day = "Friday"; break; case 6: day = "Saturday"; break; default: day = "Undefined Day"; }Prova a vedere‹/›
La parola chiave break associata a ogni etichetta case garantisce che una volta eseguita la statement corrispondente, il programma esce dal switch e continua a eseguire la statement successiva. Se si omette break, il programma continuerà a eseguire la statement successiva della statement switch.
Se dimentichi di riposarti, lo script partirà dalla situazione che corrisponde ai requisiti e poi eseguirà le situazioni che soddisfano i requisiti:
var num = Number(document.querySelector("input").value); var text; switch (num) { case 1: text = "Il numero che hai inserito è 1"; case 2: text = "Il numero che hai inserito è 2"; case 3: text = "Il numero che hai inserito è 3"; case 4: text = "Il numero che hai inserito è 4"; case 5: text = "Il numero che hai inserito è 5"; default: text = "Esegui la statement di default"; }Prova a vedere‹/›
Non è necessario interrompere l'ultima situazione del blocco switch (cioè default). Poiché il blocco di istruzioni si interrompe qui (si conclude) infine.
Se non viene trovato nessun caso, la parola chiave default specifica alcuni codici da eseguire.
In switch può esserci solo una frase predefinita. Sebbene sia opzionale, si consiglia di utilizzarla perché può gestire situazioni impreviste.
A volte, potresti voler utilizzare lo stesso codice per diverse situazioni o utilizzare codice comune.
Questo è un esempio di frase switch con ordine di esecuzione, in cui quattro valori diversi eseguono operazioni completamente identiche:
var num = Number(document.querySelector("input").value); var text; switch (num) { case 1: case 2: case 3: case 4: text = "Il numero che hai inserito è compreso tra 1 e 4"; break; case 5: case 6: case 7: case 8: text = "Il numero che hai inserito è compreso tra 5 e 8"; break; default: text = "Esegui la frase predefinita"; }Prova a vedere‹/›
Se più casi corrispondono al valore, viene selezionato il primo caso.
Se non viene trovato un caso corrispondente, il programma continuerà a utilizzare il caso predefinito.
Se non viene trovato il tag predefinito, il programma continuerà a eseguire la frase dopo la transizione.