Heim > Artikel > Web-Frontend > js-Operator-Zusammenfassung_Grundkenntnisse
Logisches ODER (||)
var result = true ||. false;
Ähnlich wie die logische UND-Operation gibt die logische ODER-Operation nicht unbedingt einen booleschen Wert zurück, wenn einer der Operanden kein boolescher Wert ist. In diesem Fall gelten die folgenden Regeln:
□ Wenn der erste Operand ein Objekt ist, geben Sie den ersten Operanden zurück.
□ Wenn der erste Operand als falsch ausgewertet wird, wird der zweite Operand zurückgegeben.
□ Wenn beide Operanden Objekte sind, geben Sie den ersten Operanden zurück.
□ Wenn beide Operanden null sind, geben Sie null zurück
□ Wenn beide undefiniert sind, geben Sie undefiniert zurück.
□ Wenn beide NaN sind, geben Sie NaN zurück
Der Unterschied zwischen „===“ und „==“
Gleichheitsoperator (==)
Der Gleichheitsoperator führt vor dem Vergleich eine implizite Konvertierung der Operationswerte durch:
Wenn ein Operandenwert ein boolescher Wert ist, konvertieren Sie ihn vor dem Vergleich in einen numerischen Wert
Wenn ein Vorgangswert eine Zeichenfolge und der andere Vorgangswert ein numerischer Wert ist, wird die Zeichenfolge über die Number()-Funktion
in einen numerischen Wert konvertiert
Wenn ein Operationswert ein Objekt ist und der andere nicht, wird die valueOf()-Methode des Objekts aufgerufen und die Ergebnisse werden gemäß den vorherigen Regeln
verglichen
null und undefiniert sind gleich
Wenn ein Operationswert NaN ist, gibt der Gleichheitsvergleich false
zurück
Wenn beide Operandenwerte Objekte sind, vergleichen Sie, ob sie auf dasselbe Objekt verweisen. Der Gleichheitsoperator gibt „true“ zurück, wenn beide Operanden auf dasselbe Objekt verweisen, andernfalls gibt er „false“
zurück
Folgendes wird jeweils erläutert:
Lassen Sie uns zuerst über === sprechen, das ist relativ einfach. Die folgenden Regeln werden verwendet, um zu bestimmen, ob zwei Werte === gleich sind:
1. Wenn die Typen unterschiedlich sind, [ungleich]
2. Wenn beide numerische Werte sind und den gleichen Wert haben, dann ist [gleich] (!Ausnahme): Wenn mindestens einer von ihnen NaN ist, dann ist [nicht gleich]. (Um festzustellen, ob ein Wert NaN ist, können Sie nur isNaN() verwenden)
3. Wenn beide Zeichenfolgen sind und die Zeichen an jeder Position gleich sind, dann [gleich], andernfalls [nicht gleich].
4. Wenn beide Werte wahr oder beide falsch sind, dann [gleich].
5. Wenn sich beide Werte auf dasselbe Objekt oder dieselbe Funktion beziehen, dann [gleich], andernfalls [ungleich].
6. Wenn beide Werte null sind oder beide undefiniert sind, dann [gleich].
Lassen Sie uns über == sprechen, gemäß den folgenden Regeln:
1. Wenn die beiden Werttypen gleich sind, führen Sie einen ===-Vergleich durch.
2. Wenn zwei Werttypen unterschiedlich sind, können sie gleich sein. Führen Sie die Typkonvertierung und den Vergleich gemäß den folgenden Regeln durch:
a. Wenn einer null und der andere undefiniert ist, dann [gleich].
b. Wenn einer eine Zeichenfolge und der andere ein numerischer Wert ist, konvertieren Sie die Zeichenfolge in einen numerischen Wert und vergleichen Sie ihn dann.
c. Wenn ein Wert wahr ist, konvertieren Sie ihn in 1 und vergleichen Sie ihn. Wenn ein Wert falsch ist, konvertieren Sie ihn in 0 und vergleichen Sie ihn.
d. Wenn eines ein Objekt und das andere ein numerischer Wert oder eine Zeichenfolge ist, konvertieren Sie das Objekt in einen Wert des Basistyps und vergleichen Sie es dann. Das Objekt wird mithilfe seiner toString- oder valueOf-Methode in den Basistyp konvertiert. Integrierte JS-Kernklassen versuchen valueOf vor toString; die Ausnahme ist Date, das die toString-Konvertierung verwendet. Nicht-js-Kernobjekte, Ling Shuo (es ist schwieriger, ich verstehe es nicht ganz)
e. Jede andere Kombination ist [nicht gleich].
Ausdruckswert Ausdruckswert
null==undefiniert wahr wahr==1 wahr
„NaN“ ==NaN false $null==0 false
false==0 true NaN!=NaN true
Kurz gesagt: „==“ erfordert nur gleiche Werte. „===" erfordert, dass Wert und Typ gleich sind.
Die Informationen stammen aus der erweiterten Javascript-Programmierung, die später organisiert und aktualisiert wird