Heim > Web-Frontend > js-Tutorial > Hauptteil

Was ist der Unterschied zwischen proto und Constructor.prototype in JavaScript?

Patricia Arquette
Freigeben: 2024-10-21 10:08:02
Original
843 Leute haben es durchsucht

What is the Difference Between proto and Constructor.prototype in JavaScript?

Die Unterschiede zwischen proto und constructionor.prototype

Die proto-Eigenschaft eines Objekts verweist auf sein Prototypobjekt, das gemeinsame Eigenschaften und Methoden enthält. Im Gegensatz dazu verweist „constructor.prototype“ auf die Prototypeigenschaft der Konstruktorfunktion des Objekts.

Das folgende Beispiel veranschaulicht den Unterschied:

<code class="javascript">function Gadget(name, color) {
  this.name = name;
  this.color = color;
}

Gadget.prototype.rating = 3;

var newtoy = new Gadget("webcam", "black");</code>
Nach dem Login kopieren

In diesem Fall zeigt newtoy.__proto__ auf Gadget. Prototyp, der über die Eigenschaftsbewertung verfügt, während newtoy.constructor.prototype auch auf Gadget.prototype verweist. Allerdings gibt newtoy.constructor.prototype.constructor.prototype.constructor.prototype null zurück, da es keinen weiteren Prototyp über Object.prototype hinaus gibt.

Dies liegt daran, dass proto eine direkte Referenz auf ist Prototyp-Objekt, während constructionor.prototype der Prototypenkette folgt. Wenn Sie mehrmals auf „constructor.prototype“ zugreifen, durchlaufen Sie die Prototypenkette, bis Sie die oberste Ebene „Object.prototype“ erreichen.

In Internet Explorer gibt es keine __proto__-Eigenschaft. Stattdessen können Sie das Attribut [[Prototype]] verwenden, um auf den Prototyp eines Objekts zuzugreifen. Auf dieses Attribut kann jedoch im Standard-JavaScript-Code nicht zugegriffen werden.

Die Referenzierung der Prototypobjekte kann Ihnen helfen, die Vererbungshierarchie in JavaScript zu verstehen und bietet einen Mechanismus zum Teilen von Eigenschaften und Methoden zwischen verwandten Objekten.

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen proto und Constructor.prototype in JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!