ActionScript 3.0 обеспечивает три основных инструкции условия, которые можно использовать для управления программным потоком.
инструкция if..else
Инструкция условия
if..else
позволяет проверить условие и выполнить блок программного кода, если это условие соблюдено, либо выполнить другой программный код, если условие нарушено. Например, в следующем программном коде проверяется, превышает ли
x
значение 20, создается функция
trace()
, если условие выполняется, или создается другая функция
trace()
, если это не так.
if (x > 20)
{
trace("x is > 20");
}
else
{
trace("x is <= 20");
}
Если не требуется выполнять альтернативный блок программного кода, можно использовать инструкцию
if
без инструкции
else
.
инструкция if..else if
Можно проверить больше одного условия, используя инструкцию условия
if..else if
. Например, в следующем программном коде не только проверяется, превышает ли
x
значение 20, но также проверяется, не является ли значение
x
отрицательным.
if (x > 20)
{
trace("x is > 20");
}
else if (x < 0)
{
trace("x is negative");
}
Если после оператора
if
или
else
следует только один оператор, этот оператор не нужно заключать в фигурные скобки. Например, в следующем программном коде фигурные скобки не используются.
if (x > 0)
trace("x is positive");
else if (x < 0)
trace("x is negative");
else
trace("x is 0");
Однако Adobe рекомендует всегда использовать фигурные скобки, поскольку если в дальнейшем к оператору условия без скобок добавляется дополнительное условие, возможно непредвиденное поведение программного кода. Например, в следующем программном коде значение
positiveNums
увеличивается на 1 независимо от того, получается ли в результате проверки условия значение
true
или нет.
var x:int;
var positiveNums:int = 0;
if (x > 0)
trace("x is positive");
positiveNums++;
trace(positiveNums); // 1
switch
Инструкция
switch
полезна, если имеется несколько путей выполнения, которые зависят от одного выражения условия. При этом обеспечивается функциональность, сходная с несколькими последовательными инструкциями
if..else if
, но несколько более удобочитаемая. Вместо проверки условия для логического значения инструкция
switch
оценивает выражение и использует результат для определения того, какой блок программного кода следует выполнять. Блоки кода начинаются инструкциями
case
и заканчиваются инструкциями
break
. Например, в следующей инструкции
switch
печатается день недели на основе номера дня, возвращаемого методом
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;
}
|
|
|