|
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; }
本文由胡金金个人网站整理发布,转载请注明地址:http://www.hujinjin.com/info/109.html