ActionScript 3.0 offre tre istruzioni condizionali di base che possono essere utilizzate per controllare il flusso del programma.
if..else
L'istruzione condizionale
if..else
consente di provare una condizione e quindi eseguire un blocco di codice se la condizione è soddisfatta o un blocco di codice alternativo in caso contrario. Il codice seguente, ad esempio, verifica se il valore di
x
è maggiore di 20 e genera un'istruzione
trace()
in caso affermativo oppure un'istruzione
trace()
diversa in caso negativo.
if (x > 20)
{
trace("x is > 20");
}
else
{
trace("x is <= 20");
}
Se non si desidera eseguire un blocco di codice alternativo, è possibile utilizzare l'istruzione
if
senza l'istruzione
else
.
if..else if
L'istruzione condizionale
if..else if
permette di provare più di una condizione. Il codice seguente, ad esempio, non solo controlla se il valore di
x
è maggiore di 20, ma anche se è negativo:
if (x > 20)
{
trace("x is > 20");
}
else if (x < 0)
{
trace("x is negative");
}
Se un'istruzione
if
o
else
è seguita da un'unica istruzione, non è necessario racchiuderla tra parentesi graffe. Il codice seguente, ad esempio, non utilizza le parentesi graffe:
if (x > 0)
trace("x is positive");
else if (x < 0)
trace("x is negative");
else
trace("x is 0");
Adobe tuttavia consiglia di includere sempre le parentesi graffe per evitare risultati imprevisti nel caso che in un secondo momento vengano aggiunte altre istruzioni a un'istruzione condizionale priva di parentesi graffe. Ad esempio, nel codice seguente il valore di
positiveNums
viene incrementato di 1 indipendentemente dal fatto che la condizione restituisce o meno il valore
true
:
var x:int;
var positiveNums:int = 0;
if (x > 0)
trace("x is positive");
positiveNums++;
trace(positiveNums); // 1
switch
L'istruzione
switch
è utile quando sono presenti vari percorsi di esecuzione che dipendono dalla stessa espressione condizionale. Fornisce funzionalità simili a una lunga serie di istruzioni
if..else if
, ma è più semplice da leggere. Anziché verificare se una condizione ha un valore booleano, l'istruzione
switch
valuta un'espressione e usa il risultato per determinare quale blocco di codice deve essere eseguito. I blocchi di codice iniziano con un'istruzione
case
e terminano con un'istruzione
break
. Ad esempio, l'istruzione
switch
seguente genera il giorno della settimana in base al numero del giorno restituito dal metodo
Date.getDay()
:
var someDate:Date = new Date();
var dayNum:uint = someDate.getDay();
switch(dayNum)
{
case 0:
trace("Sunday");
break;
case 1:
trace("Monday");
break;
case 2:
trace("Tuesday");
break;
case 3:
trace("Wednesday");
break;
case 4:
trace("Thursday");
break;
case 5:
trace("Friday");
break;
case 6:
trace("Saturday");
break;
default:
trace("Out of range");
break;
}
|
|
|