Heim > Web-Frontend > js-Tutorial > Wissenserklärung zur impliziten Konvertierung von js (mit Beispielen)

Wissenserklärung zur impliziten Konvertierung von js (mit Beispielen)

不言
Freigeben: 2018-09-20 17:04:37
Original
2117 Leute haben es durchsucht

Dieser Artikel vermittelt Ihnen Wissen über die implizite Konvertierung von js (mit Beispielen). Freunde in Not können darauf verweisen.

Vorspeisen

[] == ![]                  //true  ==> "" == false
123 ^ []                   //123   ==> 123 ^ 0
~{}                        //-1    ==> ~0
{} >= {1,2}                //true  ==>因为大于等于的比较,不是相等的比较,所以[object Object] >=[object Object]
[null] == ""               //true  ==> [""] == ""
Nach dem Login kopieren

Bemerkenswerte Operatoren:

  • Unäre Operatoren: Konvertierung über Number(); einschließlich *-Operator, /-Operator, alle konvertiert durch Number( )

+undefined   //NaN
Nach dem Login kopieren
  • Logischer Operator: ! Entspricht Boolean(), konvertiert den Operanden in einen booleschen Wert. Typkonvertierung

  • Bitoperationen: ~, |, &, ^; wenn ein Operand NaN ist, entspricht dies dem Operanden 0;

    Die höchste Priorität ist die Zeichenfolge. Jeder zu einer Zeichenfolge hinzugefügte Operand wird als Zeichenfolge (x) in eine Zeichenfolge umgewandelt und anschließend die Zeichenfolgenverkettung
  • //由以下变化可以证得:
    NaN ^ NaN ^ NaN = 0
    Nach dem Login kopieren

    gefolgt von einer Zahl durchgeführt. und das Objekt gibt unter normalen Umständen den Zeichenfolgentyp

    console.log("a" + 1);           //"a1"
    console.log("a" + "1");         //"a1"
    console.log("a" + false);       //"afalse"
    console.log("a" + undefined);   //"aundefined"
    console.log("a" + NaN);         //"aNaN"
    console.log("a" + null);        //"anull"
    console.log("a" + {});          //"a[object Object]"
    Nach dem Login kopieren
  • aus. Wenn es um Boolesch geht, wird es als Zahl verarbeitet. Das Gleiche gilt für undefiniert und null >
//console.log(1 + "1");     //"11"
console.log(1 + 1);         //2
console.log(1 + true);      //2 
console.log(1 + undefined); //NaN
console.log(1 + NaN);       //NaN
console.log(1 + null);      //1
console.log(1 + {});        //"1[object,Object]"
Nach dem Login kopieren

Minuszeichen, dann werden beide Seiten von Number() verarbeitet

Vergleichsoperationen: ==, >, <, > =, >=, != Befolgen Sie die Regeln (Auszug aus Elevation 3):
  • 1.null und undefiniert sind gleich

    2. Vor dem Vergleich auf Gleichheit können null und undfined nicht konvertiert werden in einen beliebigen anderen Wert
  • 3. Wenn einer der Operanden NaN ist, gibt der Gleichheitsoperator fasle zurück, und NaN ist nicht gleich NaN
  • 4. Vergleich zwischen zwei Objekten, beide zeigen auf Gleiches Objekt (gleiche Adresse), der Gleichheitsoperator gibt true zurück, andernfalls gibt er false zurück

    Es ist zu beachten: >= und = zwischen Objekten =(!=) Die Vergleichsmethoden sind unterschiedlich von toString(), und letzteres ist ein Vergleich der Referenzadresse

    Wenn beide Seiten Zeichenfolgen sind, basiert der Vergleich auf der Zeichencodierungsgröße
  • Wenn ein Operand ein Boolescher Wert, eine Zeichenfolge oder ein Objekt ist, konvertieren Sie ihn in Geben Sie einen Zahlentypwert ein und vergleichen Sie ihn dann.
console.log(true + true);      //2 
console.log(true + undefined); //NaN
console.log(true + NaN);       //NaN
console.log(true + null);      //1
console.log((true + [NaN]));   //"trueNaN"
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWissenserklärung zur impliziten Konvertierung von js (mit Beispielen). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage