Lo switch non è nient’altro che un particolare caso di if particolarmente ramificato, in cui vine presa in esame un’unica variabile che può assumere differenti valori, e conseguentemente esistono molteplici else if. In pratica il diagramma di flusso dello switch è il medesimo dell’else if:
Figura 1. Diagramma di flusso
la sintassi è:
switch(<variabile da valutare>) {
case <valore 1>:
//istruzioni
break; //si ferma qui
case <valore 2>:
//istruzioni
break; //si ferma qui
…
case <valore n>:
//istruzioni
break; //si ferma qui
default:
//istruzioni }
da notare la sintassi case (seguita dai due punti) che indica che stiamo entrando in uno dei casi e l’istruzione break, che serve per interrompere lo switch, ogni volta che si rientra nella casistica che ci interessa.
Esempio
Al posto di:
if (screen.width==640) altezzaCella=80; else if (screen.width==800) altezzaCella=100; else if (screen.width==1024) altezzaCella=150; else altezzaCella=200;
potremmo scrivere:
switch (screen.width) { case 640: altezzaCella=80; break; case 800: altezzaCella=100; break; case 1024: altezzaCella=150; break; default: altezzaCella=200; }