Vediamo ora di inserire qualche bivio nei programmi Per eseguire delle operazioni sotto certe condizioni il comando principale è IF. La sintassi è la seguente:
If <condizione> Then
<operazioni se la condizione e vera>
Else
<operazioni se la condizione e falsa>
End If
Nel seguente esempio si usa la funzione Month(), che restituisce il mese in formato numerico, e Now(), che restituisce la data e l'ora attuale:
<script language="VBScript">
<!--
if month(Now())=6 then
document.write "È giugno"
end if
//-->
</script>
Se questo è il mese di giugno, stamperà "è giugno".
Per rendere più completo il programma:
<script language="VBScript">
<!--
if month(Now())=6 then
document.write "É giugno"
else
document.write "Non è giugno"
end if
//-->
</script>
Si possono anche creare delle strutture dentro altre strutture ossia delle strutture annidate:
<script language="VBScript">
<!--
if month(Now())<=6 then
document.write "Siamo nel primo semestre dell'anno <br>"
if month(Now())<=3 then
document.write "e nel primo trimestre."
else
document.write "e nel secondo trimestre."
end if
else
document.write "Siamo nel secondo semestre dell'anno <br>"
if month(Now())<=9 then
document.write "e nel terzo trimestre."
else
document.write "e nel quarto trimestre."
end if
end if
//-->
</script>
Si noti l'importanza di una formattazione di tipo "indent" (ossia con le rientranze) quando si usano strutture così complesse.
Un altro utilizzo dell'istruzione IF è quello di dare più condizioni possibili:
<script language="VBScript">
<!--
if month(Now())<=3 then
document.write "Siamo nel primo trimestre."
elseif month(Now())<=6 then
document.write "Siamo nel secondo trimestre."
elseif month(Now())<=9 then
document.write "Siamo nel terzo trimestre."
else
document.write "Siamo nel quarto trimestre."
end if
//-->
</script>
Si noti che in questo tipo di struttura solo un'operazione viene eseguita. Partendo dall'alto verso il basso, alla prima condizione vera viene eseguita l'operazione corrispondente e si esce dalla struttura. Infatti se fossimo a gennaio sarebbero verificate tutte le condizioni ma verrebbe stampata solo la prima frase.
Nella condizioni si possono usare gli operatori logici NOT, AND e OR per unire più condizioni.
Quando si utilizzano strutture con molte scelte dipendenti dal valore di un parametro, si può utilizzare la struttura con SELECT.
Ecco lo stesso programma di prima con la struttura SELECT:
<script language="VBScript">
<!--
Select case month(Now())
case 1,2,3
document.write "Siamo nel primo trimestre."
case 4,5,6
document.write "Siamo nel secondo trimestre."
case 7,8,9
document.write "Siamo nel terzo trimestre."
case else
document.write "Siamo nel quarto trimestre."
end select
//-->
</script>
In questa struttura, viene definita la variabile da controllare con l'istruzione "Select case Variabile", e vengono poi elencati i valori possibili che può assumere la variabile con l'istruzione "case valore1,valore2,valore3"; seguono a questa istruzione le operazioni da eseguire. Nell'esempio la variabile è numerica, nel caso di variabile stringa i valori vanno messi tra virgolette:
case "valore1","valore2","valore3"