Heim > Artikel > Web-Frontend > So ermitteln Sie, ob eine Phase in JavaScript gleich ist
So ermitteln Sie die Gleichheit in JavaScript: 1. Verwenden Sie den Operator „==“ oder „!==", um zu vergleichen, ob die Werte der beiden Operanden gleich sind. 2. Verwenden Sie den Operator „===" oder „!“; ==" Operatorsymbol, vergleicht, ob die Werte der beiden Operanden gleich sind, und prüft, ob ihre Typen gleich sind.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer.
JavaScript bestimmt Gleichheit
In JavaScript können Sie den Operator ==
、===
、!=
、!==
verwenden, um Gleichheit oder Ungleichheit zu bestimmen == (Gleichheit)
!= (ich möchte nicht warten) | Vergleichen Sie, ob die Werte der beiden Operanden nicht gleich sind |
---|---|
=== (Kongruent) | Vergleichen Sie die beiden Ob die Werte der beiden Operanden gleich sind, und prüfen Sie, ob ihre Typen gleich sind |
!== (nicht kongruent) | Vergleichen Sie, ob die Werte der beiden Operanden nicht übereinstimmen gleich, und prüfen Sie, ob ihre Typen nicht gleich sind |
Bei der Gleichheitsoperation sollten Sie auf die folgenden Punkte achten: | |
Wenn ein Operand eine Zeichenfolge und der andere Operand eine Zahl ist, versuchen Sie zunächst, die Zeichenfolge in eine Zahl umzuwandeln. |
Wenn ein Operand eine Zeichenfolge und der andere Operand ein Objekt ist, versuchen Sie zunächst, das Objekt in eine Zeichenfolge umzuwandeln.
Wenn ein Operand eine Zahl und der andere Operand ein Objekt ist, versuchen Sie zunächst, das Objekt in eine Zahl umzuwandeln.
Wenn beide Operanden Objekte sind, vergleichen Sie die Referenzadressen. Wenn die Referenzadressen gleich sind, sind sie gleich; andernfalls sind sie nicht gleich.
Das Folgende ist ein Gleichheitsvergleich spezieller Operanden.
console.log("1" == 1); //返回true。字符串被转换为数字 console.log(true == 1); //返回true。true被转换为1 console.log(false == 0); //返回true。false被转换为0 console.log(null == 0); //返回false console.log(undefined == 0); //返回false console.log(undefined == null); //返回true console.log(NaN == "NaN"); //返回false console.log(NaN ==1); //返回false console.log(NaN == NaN); //返回false console.log(NaN != NaN); //返回true
Die Werte der folgenden beiden Variablen sind gleich. var a = "abc" + "d";
var b = "a" + "bcd";
console.log(a == b); //返回true
Die Gleichheitsvergleichsoperation von numerischen und booleschen Werten ist relativ effizient, während Zeichenfolgen zeichenweise verglichen werden müssen und die Effizienz der Gleichheitsvergleichsoperation relativ gering ist.
Bei Kongruenzoperationen sollten Sie auf folgende Punkte achten:
Wenn beide Operanden einfache Werte sind, dann sind sie kongruent, solange die Werte gleich und die Typen gleich sind.
Wenn ein Operand ein einfacher Wert und der andere Operand ein zusammengesetztes Objekt ist, sind sie nicht kongruent.
Wenn beide Operanden zusammengesetzte Objekte sind, vergleichen Sie, ob die Referenzadressen gleich sind.
Das Folgende ist ein kongruenter Vergleich spezieller Operanden.
console.log(null === undefined); //返回false console.log(0 === "0"); //返回false console.log(0 === false); //返回false
var a = {}; var b = a; console.log(a === b); //返回true
Obwohl die folgenden beiden Objekte die gleiche Struktur haben, haben sie unterschiedliche Adressen und sind daher nicht deckungsgleich. var a = {};
var b = {};
console.log(a === b); //返回false
Bei zusammengesetzten Objekten wird hauptsächlich die Adresse der Referenz verglichen, der Wert des Objekts wird jedoch nicht verglichen. var a = new String("abcd); //定义字符串“abcd”对象
var b = new String("abcd); //定义字符串“abcd”对象
console.log(a === b); //返回false
console.log(a == b); //返回false
Im obigen Beispiel sind die Werte der beiden Objekte gleich, aber die Referenzadressen sind unterschiedlich, sodass sie weder warten wollen noch gleich sind. Daher sind für zusammengesetzte Objekte die Ergebnisse der Operationen Gleichheit == und Kongruenz === gleich.
Bei einfachen Werten sind sie kongruent, solange sie denselben Typ und gleiche Werte haben, unabhängig von den Prozessänderungen der Ausdrucksoperation oder der Referenzadresse der Variablen. var a = "1" + 1;
var b = "11";
console.log(a ===b); //返回true
Der Ausdruck (a>b || a==b) ist nicht genau gleich dem Ausdruck (a>=b).
var a = 1; var b = 2; console.log((a > b || a == b) == (a >= b)); //返回true,此时似乎相等
Wenn den Variablen a und b null und undefiniert zugewiesen werden, wird der Wert false zurückgegeben, was darauf hinweist, dass die beiden Ausdrücke nicht vollständig äquivalent sind. var a = null;
var b = undefined;
console.log((a > b || a == b) == (a >= b)); //返回false,表达式的值并非相等
Da null == undefiniert gleich wahr ist, ist der Rückgabewert des Ausdrucks (a > b || a == b) wahr, aber der Rückgabewert des Ausdrucks null >= undefiniert ist falsch.
【Verwandte Empfehlungen:
Javascript-Lern-Tutorial】
Das obige ist der detaillierte Inhalt vonSo ermitteln Sie, ob eine Phase in JavaScript gleich ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!