学习 Adobe Flash 中的 ActionScript 2.0 |
|
|
|
| 语法和语言基础知识 > 关于语句 > 关于条件语句 > 关于条件运算符和替代语法 | |||
如果您喜欢短代码形式,可以使用条件 (?:) 运算符,又称条件表达式。条件运算符允许您将简单的 if..else 语句转换为单行代码。该运算符有助于在实现同一效果的同时减少编写的代码量,但是它往往会使您的 ActionScript 更难以阅读。
下面的条件是用完整形式编写的,检查变量 numTwo 是否大于零,并返回 numOne/numTwo 的结果或字符串 carrot:
var numOne:Number = 8;
var numTwo:Number = 5;
if (numTwo > 0) {
trace(numOne / numTwo); // 1.6
} else {
trace("carrot");
}
使用条件表达式时,可以用以下格式编写同样的代码:
var numOne:Number = 8; var numTwo:Number = 0; trace((numTwo > 0) ? numOne/numTwo : "carrot");
如您所看到的,缩短语句会降低可读性,因此这样做并不好。如果必须使用条件运算符,请在小括号内放入前导条件(在问号 [?] 前)。这有助于增强 ActionScript 的可读性。下面的代码是更具可读性的 ActionScript 的示例:
var numOne:Number; (numOne >= 5) ? numOne : -numOne;
您可以编写返回布尔值的条件语句,如下例所示:
if (cartArr.length > 0) {
return true;
} else {
return false;
}
但是,与前面的代码相比,下例中的 ActionScript 更好:
return (cartArr.length > 0);
第二个代码片断更短,需要计算的表达式更少。它更容易阅读和理解。
编写复杂条件时,使用小括号 [()] 对条件进行组合是恰当的形式。如果不使用小括号,您(或使用 ActionScript 的其他人)就可能会遇到运算符优先错误。有关运算符优先级的详细信息,请参阅关于运算符的优先级和结合律。
例如,下面的代码未在条件前后使用小括号:
if (fruit == "apple" && veggie == "leek") {}
下面的代码通过在条件前后添加小括号而具有了恰当的形式:
if ((fruit == "apple") && (veggie == "leek")) {}
|
|
|
|