JavaScript-Objekt ist ein zusammengesetzter Wert. Es handelt sich um eine Sammlung von Attributen oder benannten Werten. Der Attributwert wird durch das Symbol „.“ referenziert. Wir sehen, dass Strings auch Eigenschaften und Methoden haben:
var s="Hallo Welt!";
var word=s.substring(s.indexof("") 1,s.length);
Da ein String kein Objekt ist, warum hat er Attribute? Solange auf die Attribute der Strings verwiesen wird, konvertiert JavaScript den String-Wert in ein Objekt, indem es den Konstruktor neuer Strings aufruft Eigenschaften der String-Methode und wird verwendet, um Referenzen auf Eigenschaften zu verarbeiten. Sobald die Eigenschaftsreferenz endet, wird das neu erstellte Objekt zerstört (tatsächlich wird dieses Objekt nicht unbedingt in der Implementierung erstellt, aber der gesamte Prozess sieht so aus ).
Wie Zeichenfolgen haben auch Zahlen und boolesche Werte ihre eigenen Methoden: Über die Konstruktoren Number() und Boolean() wird ein temporäres Objekt erstellt, und die Aufrufe dieser Methoden erfolgen von diesem temporären Objekt. Dieses temporäre Objekt wird Wrapper-Objekt genannt.
Hinweis:
var s="test"; //Deklarieren Sie eine Zeichenfolge
s.len=4;
Var t = s.Len; // Dieses Attribut abfragen
Zu diesem Zeitpunkt, wenn wir t ausgeben, sollte es undefiniert sein. Die zweite Codezeile erstellt ein temporäres String-Objekt, weist seinem len-Attribut den Wert 4 zu und zerstört dann das Objekt Versuchen Sie, den ursprünglichen String-Wert s zu lesen. Dieses Attribut existiert natürlich nicht, daher ist der Wert bei der Ausgabe undefiniert.
Dieser Code zeigt, dass sich das Objekt beim Lesen des Attributwerts (oder der Methode) einer Zahl, einer Zeichenfolge oder eines booleschen Werts wie ein Objekt verhält, beim Versuch, seinem Attribut jedoch einen Wert zuzuweisen, dieser Vorgang ignoriert wird: die Änderung Dies geschieht lediglich bei einem temporären Objekt, das nicht beibehalten wird.
Das beim Zugriff auf Eigenschaften von Zeichenfolgen, Zahlen oder booleschen Werten erstellte temporäre Objekt wird als Wrapper-Objekt bezeichnet. Es wird nur gelegentlich zur Unterscheidung von Zeichenfolgenwerten und Zeichenfolgenobjekten, Zahlen und numerischen Objekten sowie booleschen Werten verwendet und boolesche Objekte