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 建议您始终使用大括号,因为以后如果在缺少大括号的条件语句中添加语句,可能会出现无法预期的行为。例如,在下面的代码中,无论条件的计算结果是否为
true
,
positiveNums
的值总是按 1 递增:
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;
}
|
|
|