Heim > Web-Frontend > js-Tutorial > Warum a='abc' nicht gleich a=new String('abc') ist

Warum a='abc' nicht gleich a=new String('abc') ist

小云云
Freigeben: 2018-01-03 10:58:52
Original
2140 Leute haben es durchsucht

In diesem Artikel wird hauptsächlich erläutert, warum a="abc" nicht gleich a=new String("abc") ist. Freunde, die es benötigen, können darauf verweisen.

Offensichtlich


a="abc"
typeof a //string
b=new String("abc")
typeof b // object
a==b //true
a===b //false
Nach dem Login kopieren

Aber warum? Ich habe viele Bücher gelesen und mehrere Experten gefragt, war aber eigentlich immer noch verwirrt. Notieren Sie es hier zum späteren Nachschlagen.

Unterscheiden Sie in js zwischen Originaldatentyp und Verpackungstyp. Zahlen, Zeichenfolgen, Boolean, Null und undefiniert sind primitive Datentypen, während Number, String und Boolean Verpackungstypen sind. Was durch new Number erstellt wird, ist ein abgeleitetes Objekt des Verpackungstyps. Die beiden sind also nicht gleich.

Der Verwendungsprozess nach der direkten Zuweisung zu einem Basistyp ist wie folgt:

1 Erstellen Sie eine Instanz des String-Typs

2 angegebener Wert für die Instanzmethoden

3. Instanzen zerstören

Beispiel:


var a="123"
a.toFixed===Number.prototype.toFixed;
Nach dem Login kopieren

Hier ist ein anderes Sprichwort: Boxen, Auspacken

Beim Boxen geht es darum, diese Wertklasse zu verwenden, um ein entsprechendes Verpackungsobjekt zu konstruieren


var a=10 ,b="javascript" , c=true;
  var o_a=new Number(a);
  var o_b=new String(b);
  var o_c=new Boolean(c);
Nach dem Login kopieren

Verpacken Die größte Aufgabe von Kartons besteht darin, Werte als Objekte zu behandeln.

Unboxing bedeutet, das verpackte Objekt in einen Werttyp umzuwandeln


var a=10;
 var o_a=new Number(a);
 var b=o_a.valueOf();//这就是拆箱的过程。
Nach dem Login kopieren

Verwandte Empfehlungen:

Ajax Ruft die Rückgabeparameter der PHP-Seite ab, die Methode zur Steuerungszuweisung

Über die dynamische Zuweisung von Jquery-IDs und die gemeinsame Nutzung dynamischer ID-Abrufmethoden

So verwenden Sie es in PHP: Weisen Sie dem JS-Array einen Wert zu

Das obige ist der detaillierte Inhalt vonWarum a='abc' nicht gleich a=new String('abc') ist. 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