Heim  >  Artikel  >  Web-Frontend  >  Einführung in die Verwendung von Object.create() zum Erstellen von Objekten in JavaScript_Javascript-Kenntnissen

Einführung in die Verwendung von Object.create() zum Erstellen von Objekten in JavaScript_Javascript-Kenntnissen

WBOY
WBOYOriginal
2016-05-16 16:23:071449Durchsuche

Für die Objekterstellung können Sie im ECMAScript 5-Standard neben der Verwendung von Literalen und dem neuen Operator auch Object.create() verwenden. Die Funktion Object.create() akzeptiert zwei Objekte als Parameter: Das erste Objekt ist erforderlich und stellt den Prototyp des erstellten Objekts dar. Das zweite Objekt ist optional und wird zum Definieren verschiedener Eigenschaften des erstellten Objekts verwendet (z. B. beschreibbar, aufzählbar). ).

Code kopieren Der Code lautet wie folgt:

var o = Object.create({x:1, y:7});
console.log(o);//Object {x=1, y=7}
console.log(o.__proto__);//Object {x=1, y=7}

Der Aufruf von Object.create() mit null als erstem Argument generiert ein Objekt ohne Prototyp, das über keine grundlegenden Objekteigenschaften verfügt (z. B. da es keine toString()-Methode gibt, die Operationen an diesem Objektsymbol verwendet). löst eine Ausnahme aus):

Code kopieren Der Code lautet wie folgt:

var o2 = Object.create(null);
console.log("Es ist " o2);//Typfehler, o2 kann nicht in primitiven Typ konvertiert werden

Für Browser, die nur den ECMAScript 3-Standard unterstützen, können Sie die Methode von Douglas Crockford verwenden, um die Operation Object.create() auszuführen:

Code kopieren Der Code lautet wie folgt:

if (typeof Object.create !== 'function') {
Object.create = Funktion (o) {
         Funktion F() {}
          F.prototype = o;
          neues F();
zurückgeben };
}
newObject = Object.create(oldObject);
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