Dichiarazione di commutazione JavaScript
L' switch
istruzione viene utilizzata per eseguire diverse azioni in base a condizioni diverse.
L'istruzione Switch JavaScript
Utilizzare l' switch
istruzione per selezionare uno dei tanti blocchi di codice da eseguire.
Sintassi
switch(expression) {
case x:
// code block
break;
case y:
// code block
break;
default:
// code block
}
È così che funziona:
- L'espressione switch viene valutata una volta.
- Il valore dell'espressione viene confrontato con i valori di ciascun caso.
- Se c'è una corrispondenza, viene eseguito il blocco di codice associato.
- Se non c'è corrispondenza, viene eseguito il blocco di codice predefinito.
Esempio
Il getDay()
metodo restituisce il giorno della settimana come un numero compreso tra 0 e 6.
(domenica=0, lunedì=1, martedì=2 ..)
Questo esempio utilizza il numero del giorno della settimana per calcolare il nome del giorno della settimana:
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";
}
Il risultato della giornata sarà:
Sunday
La parola chiave di rottura
Quando JavaScript raggiunge una break
parola chiave, esce dal blocco switch.
Ciò interromperà l'esecuzione all'interno del blocco switch.
Non è necessario interrompere l'ultimo caso in un blocco interruttori. Il blocco si rompe (finisce) comunque lì.
Nota: se si omette l'istruzione break, il caso successivo verrà eseguito anche se la valutazione non corrisponde al caso.
La parola chiave predefinita
La default
parola chiave specifica il codice da eseguire se non c'è corrispondenza tra maiuscole e minuscole:
Esempio
Il getDay()
metodo restituisce il giorno della settimana come un numero compreso tra 0 e 6.
Se oggi non è né sabato (6) né domenica (0), scrivi un messaggio predefinito:
switch (new Date().getDay()) {
case 6:
text = "Today is Saturday";
break;
case 0:
text = "Today is Sunday";
break;
default:
text = "Looking forward to the Weekend";
}
Il risultato del testo sarà:
Today is Sunday
Il default
caso non deve essere l'ultimo caso in un blocco di interruttori:
Esempio
switch (new Date().getDay()) {
default:
text = "Looking forward to the Weekend";
break;
case 6:
text = "Today is Saturday";
break;
case 0:
text = "Today is Sunday";
}
Se default
non è l'ultimo caso nel blocco switch, ricorda di terminare il caso predefinito con una pausa.
Blocchi di codice comuni
A volte vorrai che diversi switch case utilizzino lo stesso codice.
In questo caso di esempio 4 e 5 condividono lo stesso blocco di codice e 0 e 6 condividono un altro blocco di codice:
Esempio
switch (new Date().getDay()) {
case 4:
case 5:
text = "Soon it is Weekend";
break;
case 0:
case 6:
text = "It is Weekend";
break;
default:
text = "Looking forward to the Weekend";
}
Dettagli di commutazione
Se più casi corrispondono a un valore di caso, viene selezionato il primo caso.
Se non vengono trovati casi corrispondenti, il programma continua con l' etichetta predefinita .
Se non viene trovata alcuna etichetta predefinita, il programma continua con le istruzioni dopo lo switch .
Confronto rigoroso
I casi di commutazione utilizzano il confronto rigoroso (===).
I valori devono essere dello stesso tipo per corrispondere.
Un confronto rigoroso può essere vero solo se gli operandi sono dello stesso tipo.
In questo esempio non ci sarà corrispondenza per x:
Esempio
let x = "0";
switch (x) {
case 0:
text = "Off";
break;
case 1:
text = "On";
break;
default:
text = "No value found";
}