Espressione Switch JavaScript

switch L'istruzione viene utilizzata per eseguire azioni diverse in base a diverse condizioni.

Espressione Switch JavaScript

Utilizzare switch L'istruzione 'statement' viene utilizzata per selezionare uno dei vari blocchi di codice da eseguire.

Grammatica

switch(espressione) {
     case n:
        Blocco di codice
        break;
     case n:
        Blocco di codice
        break;
     default:
        Blocco di codice di default
} 

Spiegazione del codice:

  • Calcola una volta l'espressione switch
  • Confronta il valore dell'espressione con ogni valore di case
  • Se esiste una corrispondenza, viene eseguito il codice associato

Esempio

Il metodo getDay() restituisce il numero di nome della settimana tra 0 e 6 (numero di giorno della settimana).

(Domenica=0, Lunedì=1, Martedì=2 ..)

Questo esempio utilizza i numeri di nome della settimana per calcolare il nome della settimana:

switch (new Date().getDay()) {
    case 0:
        day = "Domenica";
        break;
    case 1:
        day = "Lunedì";
         break;
    case 2:
        day = "Martedì";
         break;
    case 3:
        day = "Mercoledì";
         break;
    case 4:
        day = "Giovedì";
         break;
    case 5:
        day = "Venerdì";
         break;
    case 6:
        day = "Domenica";
} 

Il risultato sarà:


Prova tu stesso

Parola chiave break

Se JavaScript incontra break Parola chiave, che esce dal blocco di codice switch.

Questo interromperà l'esecuzione di ulteriori codici nel blocco di codice e le prove di case.

Se viene trovata una corrispondenza e il lavoro è completato, viene interrotta casualmente l'esecuzione (break). Non è necessario ulteriori test.

break Può risparmiare molto tempo di esecuzione, poiché ignora l'esecuzione di altri codici nel blocco di codice switch.

Non è necessario interrompere l'ultimo case nel blocco di codice switch. Il blocco di codice si conclude naturalmente qui.

Parola chiave default

default La parola chiave definisce il codice che viene eseguito quando non esiste una corrispondenza di case:

Esempio

getDay() Il metodo restituisce il numero di nome della settimana tra 0 e 6.

Se oggi non è né sabato (6) né domenica (0), viene visualizzato un messaggio di default:

switch (new Date().getDay()) {
    case 6:
        text = "Oggi è sabato";
        break; 
    case 0:
        text = "Oggi è domenica";
        break; 
    default: 
        text = "Aspettiamo il weekend~";
} 

Il risultato di text è:


Prova tu stesso

DefaultIl caso non deve essere l'ultimo nel blocco di codice switch:

Esempio

switch (new Date().getDay()) {
    default: 
        text = "Aspettiamo il weekend!";
         break;
    case 6:
        text = "Oggi è sabato";
        break; 
    case 0:
        text = "Oggi è domenica";
} 

Prova tu stesso

Se default Non essere l'ultimo case nel blocco di codice switch, ricorda di usare break per terminare il caso di default.

Blocco di codice comune

A volte potresti aver bisogno di diversi case per utilizzare lo stesso codice.

In questo esempio, case 4 e 5 condividono lo stesso blocco di codice, mentre 0 e 6 condividono un altro blocco di codice:

Esempio

switch (new Date().getDay()) {
    case 4:
    case 5:
        text = "Il weekend è quasi qui:)";
        break; 
    case 0:
    case 6:
        text = "Oggi è il weekend~";
         break;
    default: 
        text = "Aspettiamo il weekend!";
} 

Prova tu stesso

Dettagli di Switching

Se più casi corrispondono a un valore di caso, viene selezionato il primo caso.

Se non viene trovato un caso corrispondente, il programma continuerà utilizzando il label predefinito.

Se non viene trovato il label predefinito, il programma continuerà con la语句 dopo il switch.

Comparazione rigorosa

L'uso del caso switch utilizza la comparazione rigorosa (===)

Il valore deve essere dello stesso tipo da confrontare.

La comparazione rigorosa può essere true solo se gli operandi appartengono allo stesso tipo.

In questo esempio, x non corrisponderà:

Esempio

var x = "0";
switch (x) {
  case 0:
    text = "Off";
    break;
  case 1:
    text = "On";
    break;
  default:
    text = "No value found";
}

Prova tu stesso

Libri di approfondimento

Per ulteriori informazioni su Espressione Switch JavaScriptPer ulteriori informazioni, leggi il contenuto relativo al tutorial avanzato JavaScript:

Espressione switch ECMAScript
La dichiarazione switch è una sorella della dichiarazione if. Questa sezione spiega l'uso della dichiarazione switch e le differenze rispetto alla dichiarazione switch in Java.