动作脚本3.0(Flex)中的条件评估顺序

时间:2010-01-25 08:18:37

标签: flex actionscript-3 conditional

var btn:Button;
if(btn != null  &&  btn.label != '') {
      mx.controls.Alert.show("d");  
}

在上面的if子句中,是否保证第一个条件(btn!= null) 在第二个条件之前进行评估?

2 个答案:

答案 0 :(得分:4)

是 - ActionScript为&&运算符执行适当的短路:

因此,它不仅会按照您描述的顺序评估表达式,如果第一个表达式返回false,它将不会费心评估第二个表达式(这与评估顺序一样重要) )。

就像注释一样,ActionScript也支持short-circuiting the logical or operator (||)

答案 1 :(得分:1)

是的。关于&&运营商的Adobe livedocs摘录:

  

&& 逻辑AND运算符

     

用法:

     

expression1 && expression2

     

如果expression1false,或者可以转换为false,则返回expression2,否则返回{{1}}。