var btn:Button; if(btn != null && btn.label != '') { mx.controls.Alert.show("d"); }
В приведенном выше условии if гарантируется, что первое условие (btn! = Null) будет оцениваться до второго условия?
Да - ActionScript выполняет соответствующее короткое замыкание для оператора &&:
&&
Таким образом, он не только будет оценивать выражения в порядке, который вы описали, но и вообще не будет беспокоиться об оценке второго выражения, если первое вернет false (что является столь же важной деталью, как порядок вычисления).
false
Как примечание, ActionScript также поддерживает короткое замыкание логического или оператора (||) .
||
Да, это так. Выдержки из Adobe liveocs относительно оператора &&:
&& логический AND Оператор : Использование: expression1 && expression2 Возвращает expression1, если это false или может быть преобразовано в false, и expression2 в противном случае.
&& логический AND Оператор :
AND
Использование:
expression1 && expression2
Возвращает expression1, если это false или может быть преобразовано в false, и expression2 в противном случае.
expression1
expression2