var btn:Button;
if(btn != null && btn.label != '') {
mx.controls.Alert.show("d");
}
在上面的if子句中,是否保证第一个条件(btn!= null) 在第二个条件之前进行评估?
答案 0 :(得分:4)
是 - ActionScript为&&
运算符执行适当的短路:
因此,它不仅会按照您描述的顺序评估表达式,如果第一个表达式返回false
,它将不会费心评估第二个表达式(这与评估顺序一样重要) )。
就像注释一样,ActionScript也支持short-circuiting the logical or operator (||
)。
答案 1 :(得分:1)
是的。关于&&
运营商的Adobe livedocs摘录:
&&
逻辑AND
运算符:用法:
expression1 && expression2
如果
expression1
为false
,或者可以转换为false
,则返回expression2
,否则返回{{1}}。