1. Die Rolle von JavaScript "=="
1. Wenn der Inhalt von == auf beiden Seiten Zeichenfolgen ist, vergleichen Sie dann, ob der Inhalt der Zeichenfolge gleich ist.
2. Wenn der Inhalt auf beiden Seiten von == Zahlen ist, vergleichen Sie dann, ob die Größen der Zahlen gleich sind.
3. Wenn der Inhalt auf beiden Seiten von == Objekte oder Funktionsattribute von Objekten sind, vergleichen Sie, ob die Speicheradressen gleich sind.
2. Der Unterschied zwischen == und ===
== für den allgemeinen Vergleich verwendet, === für strengen Vergleich verwendet, == Sie können den Datentyp während des Vergleichs, === strenger Vergleich und zurückgeben, solange die Typen nicht übereinstimmen.
Geben Sie ein Beispiel:
<script type = "text/javaScript"> alert ("/"/"== true Ergebnis ist:"+("" == true)); alert ("/"/"=== True Ergebnis ist:"+("" == true)); alert ("/" === True Ergebnis ist: "+(" "==)); alert ("/"/" ==== "+(" "==)); alert ("/"/" ==== "+(" "===)); </script>"1" == True Typen sind unterschiedlich, "==" Die Typumwandlung wird zuerst durchgeführt und treu zu 1 wird konvertiert, dh "1" == 1; Zu diesem Zeitpunkt sind die Typen immer noch unterschiedlich, führen weiterhin Typumwandlungen durch und "1" wird konvertiert, dh 1 == 1; Zu diesem Zeitpunkt sind "==" die Typen auf beiden Seiten links und rechts numerisch, was relativ erfolgreich ist!
"1" === true Die linke Seite ist Zeichentyp, die rechte Seite ist Bool -Typ, die linke und die rechte Seite sind unterschiedlich, das Ergebnis ist falsch;
"1" === 1 Die linke Seite ist ein Zeichentyp, die rechte Seite ist ein numerischer Typ, und die linke und die rechte Seite sind unterschiedlich, und das Ergebnis ist falsch;
Auslaufergebnisse:
Zusammenfassen:
Die Differenz zwischen == und ==: "==" Nur die Werte müssen gleich sein; "===" Die Werte und Typen müssen gleich sein.
Lassen Sie mich den Unterschied zwischen drei gleichen Vorzeichen und zwei gleichen Vorzeichen in JavaScript ausführlich erklären.
== Gleichheit ist äquivalent, === Identität ist Gleichheit.
== Wenn die beiden Seiten unterschiedliche Wertearten haben, sollte zuerst die Typumwandlung durchgeführt werden und dann ein Vergleich.
==, es wird keine Typumwandlung durchgeführt, verschiedene Typen müssen unterschiedlich sein.
Das Folgende wird getrennt erklärt:
Lassen Sie uns über === sprechen, das ist relativ einfach.
Die folgenden Regeln werden verwendet, um festzustellen, ob die beiden Werte === gleich sind:
1. Wenn die Typen unterschiedlich sind, sind sie [ungleich]
2. Wenn beide numerische Werte sind und den gleichen Wert sind, dann [gleich]; (! Ausnahme) ist, wenn mindestens einer von ihnen Nan ist, dann [nicht gleich]. (Um festzustellen, ob ein Wert NAN ist, können Sie nur ISNan () verwenden, um zu beurteilen)
3. Wenn beide Saiten sind und die Zeichen in jeder Position gleich sind, dann [Gleichheit]; ansonsten [nicht gleich].
4. Wenn beide Werte wahr sind oder beides falsch sind, dann [gleich].
5. Wenn beide Werte auf das gleiche Objekt oder dieselbe Funktion beziehen, dann [Gleichheit]; ansonsten [nicht gleich].
6. Wenn beide Werte null sind oder beides undefiniert sind, dann [gleich].
Lassen Sie uns nach den folgenden Regeln über == sprechen:
1. Wenn die beiden Werttypen gleich sind, make === Vergleich.
2. Wenn die beiden Werttypen unterschiedlich sind, können sie gleich sein. Die Typumwandlung wird gemäß den folgenden Regeln durchgeführt und dann verglichen:
A. Wenn einer null ist und der andere undefiniert ist, dann [gleich].
B. Wenn einer eine Zeichenfolge ist und der andere ein numerischer Wert ist, konvertieren Sie die Zeichenfolge in einen numerischen Wert und vergleichen Sie ihn.
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 der andere ein numerischer oder Zeichenfolge ist, konvertieren Sie das Objekt in einen Wert des Basistyps und vergleichen Sie es dann. Konvertieren Sie ein Objekt in einen Basistyp und verwenden Sie die Methode zum ToString oder der Wertung. Die integrierte JS-Kernklasse wird versuchen, vor dem ToString zu schätzen. Die Ausnahme ist Datum, bei dem die ToString Conversion verwendet wird. Nicht-JS-Kernobjekt,
Lingshuo (ich verstehe nicht viel)
e. Jede andere Kombination ist [ungleich].
Zum Beispiel:
"1" == True
Wenn die Typen unterschiedlich sind, wird TRUE zuerst in den Wert 1 umgewandelt, und jetzt wird sie zu "1" == 1 und dann "1" in 1 konvertieren und 1 == 1 vergleichen, was gleich ist.
= Zuweisungsoperator
== gleich
=== streng gleich gleich
Beispiel:
var a = 3;
var b = "3";
a == b gibt true zurück
A === B gibt false zurück
Weil die Arten von A und B unterschiedlich sind
=== wird verwendet, um strenge Vergleichsurteile vorzunehmen