条件语句

ActionScript 3.0 提供了三个可用来控制程序流的基本条件语句。

子主题

if..else
if..else if
switch

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");
}

如果 ifelse 语句后面只有一条语句,则无需用大括号括起后面的语句。例如,下面的代码不使用大括号:

if (x > 0)
    trace("x is positive”);
else if (x < 0) 
    trace("x is negative");
else
    trace("x is 0");

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

Flash CS3

 

评论添加到页面后给我发送电子邮件 | 评论报告

当前页: http://livedocs.adobe.com/flash/9.0_cn/main/00000051.html