操作员根据指令评估什么?
喜欢:
var flag:Boolean=true;
flag && trace("1") && trace("2") && trace("3");
输出:1 2 3
var flag:Boolean=true;
flag && trace("1") || trace("2") || trace("3");
输出 1
or 运算符在 idk 什么情况下断句...
编辑:好的,现在我看到了这句话如何与运算符一起使用,但是是否有任何没有返回值的指令被评估为真?
而且您似乎无法评估您想要的任何指令,例如:
private function any():void{
true && return;
}
这将引发编译错误。
编辑:在这种情况下,它的行为与第二个示例不同:
true && one() || two() || three();
功能
private function one():void{
trace("1");
}
private function two():void{
trace("2");
}
private function three():void{
trace("3");
}
输出:1 2 3
编辑:分配值:
var a:int;
(a=1) || trace("1");
(a=2) && trace("2");
输出:2
编辑:
||
如果为真或可以转换为真,则返回表达式1,否则返回表达式2
&&
“如果表达式 1 为假或可以转换为假,则返回表达式 1,否则返回表达式 2。可以转换为假的值的示例有 0、NaN、null 和未定义”。
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/operators.html#logical_OR
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/operators.html#logical_AND