a. JS-Objekte sind alle assoziative Arrays
b. inherit(); gibt ein neues Objekt zurück, das die Eigenschaften des Prototypobjekts p
erbt :
Erstellen (erstellen) Festlegen (setzen) Suchen (abfragen) Löschen (löschen) Testen (testen) und aufzählen (aufzählen)
Methoden zum Erstellen von Objekten:
Objekt literal Schlüsselwort new Object.create()
in es5 var aa=Object.create({"x":0,"y":1})
Lesen von Attributen Abrufen und Ändern:
1. Durch. Verbindungsattribute können nicht geändert werden und können nicht zur Laufzeit geändert werden
2. Durch Objekt['xxx']; a]; a kann eine Variable sein, daher ist das Attribut undefiniert und kann während des Vorgangs geändert werden
3. Die Abfrage eines nicht vorhandenen Attributs gibt undefiniert zurück
4. Abfrage eines Objekts Wenn das Objekt nicht vorhanden ist, wird ein Fehler ausgegeben. Wenn Sie die Attribute eines Objekts abfragen und verhindern möchten, dass es einen Fehler meldet, können Sie Folgendes tun:
var a=b&&b.c&&b.c.d;
Löschen von Attributen
1. Durch Löschen kann nur die Verbindung zwischen dem Host und dem Hostobjekt unterbrochen werden, ohne die Eigenschaften in den Eigenschaften zu bearbeiten, die durch Variablendeklarationen oder Funktionsdeklarationen erstellt wurden. Bei Erfolg wird „True“ zurückgegeben, bei Fehler wird „False“ zurückgegeben
delete a.b// a hat nicht mehr das Attribut b
delete a['b']//a hat nicht mehr das Attribut b
Erkennung des Attributs
1.in-Operator, hasOwnProperty( ),propertyIsEnumerable()
Der Eigenschaftsname auf der linken Seite von in, der das Objekt ist, wird zurückgegeben wahr, sonst falsch
var a={x :1} a.hasOwnPreperty('x');//true
PropertyIsEnumerable() ist eine erweiterte Version von hasOwnPreperty() Eigenschaft, die aufzählbar ist und zu diesem Objekt gehört, gibt true zurück
2. Der einfachste Weg! ==Ist es undefiniert
Attributaufzählung
1. Alle dem Objekt im Code hinzugefügten Attribute sind aufzählbar, und wir müssen einige Attribute in for/in
for(p in o){ if(!o.hasOwnproperty(p)) continue ;//Geerbte Eigenschaften überspringen } for(p in o) { if(typeof o[p]==="function") continue ;//Skip method } 2. In Es5 gibt es zwei weitere Funktionen Object.keys();//Gibt ein Array zurück, das aus den aufzählbaren eigenen Eigenschaften des Objekts besteht Object.getOwnPropertyNames(); //Gibt die Namen aller eigenen zurück Eigenschaften im Objekt Attribut-Getter und -Setter (Zugriffsattribut) 1.var 0={ a:1,/ / Gewöhnliche Datenattribute //Accessor-Attribute sind paarweise definierte Funktionen get b(){hier ist der Funktionskörper},set c(){hier ist der Funktionskörper } }Drei Attribute des Objekts 1. Prototypattribute: var p ={x:1};//Definieren Sie einen Prototyp object var o=Object.create(p); Verwenden Sie diesen Prototyp, um ein Objekt zu erstellen p.isPrototypeOf(0);// true,o erbt von p
Object.prototype.isPrototypeOf(o);//p erbt von Object.prototype 2. Klassenattribute 3. Erweiterbarkeit Bestimmen Sie, ob das Objekt erweiterbar ist, indem Sie das Objekt übergeben Object.esExtensible() Object.prevenExtensions() übergibt das konvertierte Objekt als Parameter und es wird nicht erweiterbar. Beachten Sie, dass der Konvertierungserfolg nicht zurückkonvertiert werden kann Object.seal () kann nicht nur das Objekt als nicht erweiterbar festlegen, sondern auch alle seine eigenen Eigenschaften als nicht konfigurierbar festlegen isSealed() erkennt das Objekt, ob es geschlossen ist Object.freeze( ) Eingefroren, nicht nur nicht konfigurierbar, sondern auch lesbar Object.isFrozen() Überprüfen Sie, ob das Objekt eingefroren istObjektserialisierung
1:JSON.stringify();/ /In JSON-String konvertieren 2::JSON.parse();//In Objekt konvertieren Objektmethode:
1.toString(); 2.toLocaleString(); 3.toJSON(); 4:valueOf();
Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in js-Objekte. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!