Flash Lite 2 |
|||
| Flash Lite 2.x ActionScript-Referenzhandbuch > Elemente der ActionScript-Sprache > Operatoren > || logischer OR-Operator | |||
expression1 || expression2
Wertet expression1 (den Ausdruck links vom Operator) aus und gibt true zurück, wenn der Ausdruck den Wert true ergibt. Ergibt expression1 den Wert false, wird expression2 (der Ausdruck rechts vom Operator) ausgewertet. Ergibt expression2 den Wert false, lautet das Endergebnis false, andernfalls true.
Wenn ein Funktionsaufruf als expression2 verwendet wird, kann die Funktion dieses Aufrufs nicht ausgeführt werden, solange expression1 den Wert true ergibt.
Das Ergebnis ist true, wenn ein oder beide Ausdrücke den Wert true ergeben, und nur dann false, wenn beide Ausdrücke den Wert false ergeben. Sie können den logischen OR-Operator mit einer beliebigen Anzahl von Operanden verwenden. Wenn einer der Operanden true ergibt, lautet das Ergebnis ebenfalls true.
Verfügbarkeit: ActionScript 1.0, Flash Lite 1.0
expression1 : Number - Ein boolescher Wert oder ein Ausdruck, der in einen booleschen Wert umgewandelt wird.
expression2 : Number - Ein boolescher Wert oder ein Ausdruck, der in einen booleschen Wert umgewandelt wird.
Boolean - Das Ergebnis der logischen Operation.
Im folgenden Beispiel wird der logische OR-Operator (||) in einer if-Anweisung verwendet. Der zweite Ausdruck wird als true ausgewertet, sodass das Endergebnis ebenfalls true lautet:
var x:Number = 10;
var y:Number = 250;
var start:Boolean = false;
if ((x > 25) || (y > 200) || (start)) {
trace("the logical OR test passed"); // Ausgabe: the logical OR test passed
}
Es wird die Meldung "the logical OR test passed" angezeigt, da eine der Bedingungen in der if-Anweisung den Wert true ergibt (y>200). Die beiden anderen Ausdrücke ergeben zwar false, wenn jedoch nur eine der Bedingungen true ergibt, wird der if-Block ausgeführt.
Das folgende Beispiel veranschaulicht, wie die Verwendung eines Funktionsaufrufs für expression2 zu unerwarteten Ergebnissen führen kann. Wenn der Ausdruck links neben dem Operator true ergibt, wird dieses Ergebnis ohne die Auswertung des Ausdrucks auf der rechten Seite zurückgegeben (d. h. die Funktion fx2() wird nicht aufgerufen).
function fx1():Boolean {
trace("fx1 called");
return true;
}
function fx2():Boolean {
trace("fx2 called");
return true;
}
if (fx1() || fx2()) {
trace("IF statement entered");
}
/* Folgendes wird an das Bedienfeld "Ausgabe" gesendet: /* Folgendes wird an die Protokolldatei gesendet: fx1 called IF statement entered */
! logischer NOT-Operator, != Ungleichheits-Operator, !== Strikter Ungleichheits-Operator, && logischer AND-Operator, == Gleichheits-Operator, === Strikter Gleichheits-Operator