Heim >Web-Frontend >js-Tutorial >Was bedeutet js-Prototyp?

Was bedeutet js-Prototyp?

藏色散人
藏色散人Original
2019-05-17 14:22:2815174Durchsuche

Was bedeutet js-Prototyp?

Prototyp ist in JavaScript ein schwer zu verstehendes Konzept. Es gibt viele Attribute im Zusammenhang mit Prototypen. Objekte haben „Prototyp“-Attribute, Funktionsobjekte haben „Prototyp“-Attribute und Prototypobjekte haben „. Konstruktor“-Eigenschaft.

Erste Einführung in Prototypen

In JavaScript ist der Prototyp auch ein Objekt. Durch den Prototyp kann die Eigenschaftsvererbung aller JavaScript-Objekte realisiert werden ein internes Attribut „[[Prototyp]]“, dieses Attribut entspricht dem Prototyp des Objekts.

„[[Prototyp]]“ ist eine interne Eigenschaft des Objekts und kann nicht direkt aufgerufen werden. Um den Prototyp eines Objekts bequem anzuzeigen, stellen Firefox und Chrome den nicht standardmäßigen (nicht von allen Browsern unterstützten) __proto__-Accessor bereit (ECMA hat den Standard-Objektprototyp-Accessor „Object.getPrototype(object)“ eingeführt).

In JavaScript enthält das Prototypobjekt auch ein „Konstruktor“-Attribut, das dem Konstruktor entspricht, der alle Instanzen erstellt, die auf den Prototyp verweisen.

In JavaScript verfügt jede Funktion über ein Prototypattribut Wenn eine Funktion als Konstruktor zum Erstellen einer Instanz verwendet wird, wird der Prototypattributwert dieser Funktion allen Objektinstanzen als Prototyp zugewiesen (dh das Attribut „__proto__“ der Instanz wird festgelegt), dh der Wert von alle Instanzen Der Prototyp bezieht sich auf das Prototypattribut der Funktion. (****`Nur Funktionsobjekte haben dieses Attribut!`****)

Der Neuvorgang ist in drei Schritte unterteilt

var p = new Person('张三',20);

1. var p={}; Initialisieren Sie ein Objekt p.

2. p._proto_=Person.prototype;, setze das __proto__-Attribut des Objekts p auf Person.prototype

3. 20);Rufen Sie den Konstruktor Person auf, um p zu initialisieren.

Das obige ist der detaillierte Inhalt vonWas bedeutet js-Prototyp?. 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
Vorheriger Artikel:Was ist JavaSE?Nächster Artikel:Was ist JavaSE?