Heim  >  Artikel  >  Web-Frontend  >  Detaillierte Einführung in js-Objekte

Detaillierte Einführung in js-Objekte

零下一度
零下一度Original
2017-06-28 09:36:061350Durchsuche

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 ist

Objektserialisierung

 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!

Stellungnahme:
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