·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]as3中if, switch选择语句

时间:2016-04-14 16:18酷播
我们经常需要让代码去有选择性的执行,这时可以使用 ActionScript 中的条件语句 if, switch

我们经常需要让代码去有选择性的执行,这时可以使用 ActionScript 中的条件语句 if, switch, 或
三元条件运算符 (? :).
条件语句允许我们做出逻辑判断,某种情况下应该做什么。if 语句是最简单的判断语句,当我们遇
到多个可能的情况要处理,这时用switch更好些。而三元条件运算符是把检测和赋值都放在一行中
搞定,简化操作。
首先我们来看一下if 语句, if 语句以if 关键字开头,接着跟一对括号,括号内为测试表达式,后
面的大括号放入测试表达式成立时要执行的代码。
下面的代码检测 animalName 是否等于"turtle."
if (animalName == "turtle") {
// 如果相等 trace( ) 语句将被执行
trace("Yay! 'Turtle' is the correct answer.");
}
另外还可以加上 else 子句来处理当测试表达式不满足时的情况,要注意的是要看到trace()输出的
信息则必须让程序在debug模式下运行。我们把输出信息放到showMessage( ) 方法里,这样这个
函数就可以被重用了
if (animalName == "turtle") {
// 条件为真则执行
showMessage("Yay! 'Turtle' is the correct answer.");
}
else {
// 条件为假
showMessage("Sorry, you got the question wrong.");
}
还可以加入else if 子句,如果 if 条件为真则跳过 else if 子句,如果为假则继续判断 else if 字句
是否为真
if (animalName == "turtle") {
// 条件为真则执行
showMessage ("Yay! 'Turtle' is the correct answer.");
}
else if (animalName == "dove") {
//animalName == "dove"成立则执行
showMessage ("Sorry, a dove is a bird, not a reptile.");
}
还可以包含更多的 else if 子句,然而这种情况,最好的办法就是采用 switch 语句代替,因为switch
与 if 语句结构更加清晰和简洁。 但在某些特殊场合,用 if 可以达到优化性能的目的。
switch 语句包含三部分:
switch 关键字
每个switch 语句都以switch 关键字开始
测试表达式
测试表达式被括号包围,它的结果将决定执行哪段代码。
switch 语句主体
主体中一般包含多个cases子句或一个default 子句
Case 表达式
case 表达式将和 switch 表达式进行比较,如果相等就执行当前case 的主代码。.
Case 主体y
当所有的case表达式都不等于switch表达式,将执行default 主体。
switch (testExpression) {
case caseExpression:
// case body
case caseExpression:
// case body
default:
// case body
}
例子:
var animalName:String = "dove";
switch (animalName) {
case "turtle":
trace("Yay! 'Turtle' is the correct answer.");
case "dove":
trace("Sorry, a dove is a bird, not a reptile.");
default:
trace("Sorry, try again.");
}
一般情况下,在每个case主体最后都会加上 break 语句,这样执行完就会直接退出switch语句。
var animalName:String = "dove";
// 现在第2个case 主体将被执行
switch (animalName) {
case "turtle":
trace("Yay! 'Turtle' is the correct answer.");
break;
case "dove":
trace("Sorry, a dove is a bird, not a reptile.");
break;
default:
trace("Sorry, try again.");
}
当有多个匹配但是执行代码是一样的,这时可以这么写:
switch (animalName) {
case "turtle":
case "alligator":
case "iguana":
trace("Yay! You named a reptile.");
break;
case "dove":
case "pigeon":
case "cardinal":
trace("Sorry, you specified a bird, not a reptile.");
break;
default:
trace("Sorry, try again.");
}
ActionScript 还支持三元条件运算符 (? :), 它把条件测试和赋值语句都放在一行完成。总共有3 个
操作数,第一个是条件表达式,如果为真,则取第二个操作数为结果,否则去第三个操作数为结果。

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器