O ActionScript 3.0 fornece três instruções condicionais básicas que você pode usar para controlar o fluxo de programa.
if..else
A instrução condicional
if..else
permitirá testar uma condição e executar um bloco de código se essa condição existir ou executar um bloco de código alternativo se ela não existir. Por exemplo, o seguinte código testa se o valor
x
excede 20, gera uma função
trace()
em caso afirmativo ou gera uma função
trace()
diferente em caso negativo:
if (x > 20)
{
trace("x is > 20");
}
else
{
trace("x is <= 20");
}
Se não quiser executar um bloco de código alternativo, você poderá usar a instrução
if
sem a instrução
else
.
if..else if
É possível testar mais de uma condição usando a instrução condicional
if..else if
. Por exemplo, o código a seguir não apenas testa se o valor
x
excede 20, mas também se o valor
x
é negativo:
if (x > 20)
{
trace("x is > 20");
}
else if (x < 0)
{
trace("x is negative");
}
Se uma instrução
if
ou
else
for seguida de apenas uma instrução, a instrução não precisa ficar entre chaves. Por exemplo, o código a seguir não usa chaves:
if (x > 0)
trace("x is positive");
else if (x < 0)
trace("x is negative");
else
trace("x is 0");
Entretanto, a Adobe recomenda que você use chaves, porque poderá ocorrer um comportamento inesperado se instruções forem adicionadas posteriormente a uma instrução condicional sem chaves. Por exemplo, no código a seguir, o valor
positiveNums
é aumentado em 1 quer a condição seja ou não avaliada como
true
:
var x:int;
var positiveNums:int = 0;
if (x > 0)
trace("x is positive");
positiveNums++;
trace(positiveNums); // 1
switch
A instrução
switch
será útil se você tiver vários caminhos de execução que dependam da mesma expressão de condição. Ela fornece uma funcionalidade semelhante a uma longa série de instruções
if..else if
, mas é mais fácil de ler. Em vez de testar uma condição quanto a um valor booleano, a instrução
switch
avalia uma expressão e usa o resultado para determinar qual bloco de código será executado. Os blocos de código começam com uma instrução
case
e terminam com uma instrução
break
. Por exemplo, a seguinte instrução
switch
imprime o dia da semana, com base no número de dias retornado pelo método
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;
}
|
|
|