Vergleichender Urteilsvermögen
Das Vergleichsurteil besteht darin, zwei Werte zu vergleichen und einen booleschen Wert zurückzugeben, um anzuzeigen, ob die Vergleichsbedingungen erfüllt sind. JavaScript bietet insgesamt 8 Vergleichsbetreiber. Hier sprechen wir hauptsächlich über den Unterschied zwischen strengen Gleichstellungsoperatoren und Gleichstellungsoperatoren.
Strikter Gleichstellungsoperator ===
Bestimmen Sie, dass die Rückgabe von zwei Werten unterschiedlich ist, falsch, beide Werte null/undefiniert/true/false true. Einer der beiden Werte ist nan, false, beide Werte sind numerisch und gleich, wahr, beide Werte sind Zeichenfolgen und gleiche Werte sind wahr, beide Werte zeigen auf denselben Referenztyp true1 === "1" // falsetrue === true // trueundefined === und definierte // true1 === 1 // truenan =====}). false [] === [] // false (function () {} === function () {}) // falsavar v1 = {}; var v2 = v1; // Zwei Werte beziehen sich auf dasselbe Objekt v1 === v2 // trueDer strenge Gleichheitsoperator hat einen entsprechenden strengen ungleiche Operator (! ==), und die Betriebsergebnisse der beiden sind genau das Gegenteil.
Gleichstellungsoperator ==
Wenn Gleichstellungsoperator Daten desselben Typs vergleicht, wird derselbe strenge Gleichheitsoperator an anderer Angaben in numerischen Typen konvertiert, wobei sowohl Strings als auch Booleans in numerische Werte verwandelt werden, und vergleicht dann Null == Undefinierte Rendite. // true'123 '== 123; // true, '123' wird in numerische Werte umgewandelt 123false == 0; // true, falsch konvertieren auf numerische Werte ist 0'a '==' a '; // false, die konvertierte Codierung ist unterschiedlich 123 == {}; //false, executing toString() or valueOf() will change 123 == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = Nan; // falsch, solange es Nan gibt, ist es falsch {} == {}; // Falsch, der Vergleich ist ihre Adresse. Die Referenzadresse jedes neu erstellten Objekts ist unterschiedlich null == undefiniert // true'nan '== nan // false123 == nan // falssenan == nan // falsefalse == 0 // TrueTREE == 1 // TrueTREE == 2 // falseundefined == 0 // Falssenull == 0///10 // // == 0///10 // // == 0///10 // == 0 // == 0//10 // == 0 // == 0 // == 0///10 /// == 0///10 // == 0///10 // == 0///10 // == 0///10 /// == 0///10 /// == 0//10 // == 0 // == 0///10 /// false'123 '123' //FALSCHDer Gleichstellungsoperator hat einen entsprechenden ungleiche Operator (! =), Und die Betriebsergebnisse der beiden sind genau das Gegenteil.
!!Richter
!! Äquivalent mit Boolean ist es sehr nützlich beim Schreiben von Code !! Es ist sehr nützlich, ihn in Boolean Typ zu konvertieren
!! 'xzavier'; // WAHR!!''; // false !! '0'; // wahr !! '1'; // true !! // true !! {name: 'xz'} // true !! []; // true !! [1,2,3]; // wahr !! wahr; // WAHR!Richter
Inverse Operator! wird verwendet, um den booleschen Wert auf den entgegengesetzten Wert zu ändern, dh True wird falsch und falsch wird wahr. Für Daten, die nicht boolean sind, konvertiert der Inversionsbetreiber sie automatisch in einen Booleschen. Die Regel lautet, dass die folgenden sechs Werte in true umgekehrt sind und die anderen Werte zu falsch umgekehrt sind
Undefined Null False 0 (einschließlich +0 und -0) nan leerer String ('')! Undefiniert // True! Null // wahr! Falsch // wahr! 0 // wahr![] und {} Urteilsvermögen
Für [] und {} werden wir sie auf jeden Fall im Geschäftsgesetz einteilen, wie oben
!! {}; // true !! {name: 'xz'} // true !! []; // true !! [1,2,3]; // WAHR Kann nicht für Urteile verwendet werden! Und!. Für Arrays verwenden wir das length , um zu richten
[] .Length // 0 false [1,2,3] .Length // 3 true
Für Objekte können Sie die Methode von JQuery $.isEmptyObject(obj) verwenden, oder Sie können eine Methode zusammenfassen, indem Sie JQuery zum Schreiben eines nachgeahnen
Funktion isEmptyObject (obj) {var name; für (Name in obj) {return false; } return true;} isEmptyObject ({}); // truiseMptyObject ({name: 'xzavier'}); FALSCH Empfehlen Sie eine underscore , die auch über eine Methode isEmpty(object) verfügt
const _ = fordert ('unterstrich'); _. isEmpty ({}); // WAHR&&Richter
In bedingten Ausdrücken werden die Regeln verwendet:
Num1 && num2True wahr wahr wahr wahr wahr falsch falsch falsch falsch falsch falsch falsch falsch falsch
In einer Erklärung verwendet, sind die Regeln:
result = Expression1 && Expression2
Wenn Expression1 zu False bewertet wird, ist das Ergebnis Expression1. Andernfalls ist das Ergebnis Expression2
(1 - 1) && (x + = 1) // 0 (2> 1) && (5 + 5) // 10 (2 + 1) && (5 + 5) // 10
|| Urteil
In bedingten Ausdrücken werden die Regeln verwendet:
Num1 || Num2True wahr wahr wahr wahrer falscher wahr wahr wahr wahrer falsches falsches falsches falsch
In einer Erklärung verwendet, sind die Regeln:
Wenn der boolesche Wert des ersten Operators wahr ist, wird der Wert des ersten Operators zurückgegeben und der zweite Operator nicht mehr bewertet.
Wenn der Boolesche Wert des ersten Operators falsch ist, wird der Wert des zweiten Operators zurückgegeben
|| Betreiber führen im Allgemeinen eine bedingte Expressionsurteilung und die Verarbeitung von Fehlertoleranz in der Geschäftsordnung durch. Wenn wir die Daten beim Abrufen nicht erhalten können, kann dies die nachfolgende Geschäftsordnung nicht beeinträchtigen. Daher müssen wir eine Fehlertoleranz sein. || ist eine sehr gute fehlertolerante Schreibmethode, die der Bereitstellung von Sicherungsdaten entspricht.
var data = undefiniert || backup_data; // Wenn ein Fehler in der Anforderung vorliegt und die Daten undefiniert sind, gehen Sie zu Sicherungsdaten backup_data
Drei-Augen-Urteil
Regel:
Zustand ? Expression1: Expression2; Funktion Absn (xzavier) {return xzavier> 0? xzavier: -xzavier;} abn (-123); // 123absn (123); // 123Wenn der Boolesche Wert des ersten Ausdrucks wahr ist, wird der Wert des zweiten Ausdrucks zurückgegeben, andernfalls wird der Wert des dritten Ausdrucks zurückgegeben.
Zusammenfassen
Das obige ist der gesamte Inhalt des Urteils im JavaScript -Code für alle. Ich hoffe, der Inhalt dieses Artikels wird für alle hilfreich sein, die JavaScript verwenden.