Molto spesso, quando scriverai degli script, vorrai che l'azione da intraprendere sia condizionata dal verificarsi o meno di una condizione. A questo proposito ci vengono in aiuto i controllori di flusso detti anche frasi condizionali. Essi sono:
if (che in italiano significa "se") si usa quando vuoi che il codice sia eseguito quando la condizione posta è vera!
if...else (che in italiano significa "se...altrimenti") si usa come il precedente con l'aggiunta di una azione da intraprendere se la condizione è falsa!
switch (che in italiano significa "commuta") si utilizza per selezionare una di una serie di linee da eseguire!
esempio di if:
a=2;
b=4;
c=6;
d=4;
if (d==b) {
document.write("d è uguale a b")
}
Questo codice visualizza il messaggio "d è uguale a b", perchè i due valori contenuti all'interno delle variabili sono uguali.
a=2;
b=4;
c=6;
d=4;
if (a==b) {
document.write("a è uguale a b")
} else {
document.write("a è diverso da b")
}
In quest'altro esempio, utilizzando if...else, le opzioni sono due, e nel caso posto verrà visualizzato "a è diverso da b" perchè diversi sono i valori.
passiamo adesso a switch:
var giorno=new Date()
var day=giorno.getDay()
switch (day) {
case 1 : document.write("oggi è lunedì!")
break
case 2 : document.write("oggi è martedì!")
break
case 3 : document.write("oggi è mercoledì!")
break
case 4 : document.write("oggi è giovedì!")
break
case 5 : document.write("oggi è venerdì!")
break
case 6 : document.write("oggi è sabato!")
break
default : document.write("oggi è domenica!") }
nell'esempio proposto verrà visualizzata la scritta relativa al giorno corrente: 1=lunedì; 2=martedì; 3=mercoledì e così via, mentre la scritta predefinita è "oggi è domenica". Il giorno corrente (orologio del pc) viene ottenuto attraverso le due funzioni predefinite Date() e getDay(). Con la funzione Date(), che abbiamo già visto, otteniamo la data corrente comprensiva dell'orario, mentre con getDay(), si estrae il solo giorno della settimana in termine numerico (0 - 6). 0 corrisponde a domenica, 1 corrisponde a lunedì, 2 corrisponde a martedì, e così via fino a 6 = sabato.
Per finire, è utile sottolineare che il javascript consente di eseguire codice condizionale in abbinamento con gli operatori logici "and", (&&) "or" (||) e "not" (!), permettendo di ridurre le linee di codice necessarie per porre più condizioni allo stesso tempo.
Nota Bene:
anche se non riportati negli esempi, i tag di apertura e chiusura script, <script language=javascript> e </script>, vanno sempre inseriti!