Dieser Artikel bietet Ihnen eine Einführung in die Beziehung zwischen Konstruktoren und Prototypketten in JavaScript. Ich hoffe, dass er für Freunde hilfreich ist.
Es gibt kein Klassenkonzept in Javascript. Sein Klassenkonzept wird durch Konstruktor und Prototypenkette realisiert.
1. Konstruktor: Das Initialisierungsobjekt erscheint beim Erstellen eines Objekts immer zusammen mit dem neuen Schlüssel.
Der Konstruktor hat die folgenden Eigenschaften:
1. Dies im Konstruktor zeigt auf das aktuelle Instanzobjekt.
2. Verwenden Sie das Schlüsselwort new, um das aktuelle Objekt zu instanziieren.
3. Schreiben Sie den ersten Buchstaben des Konstruktors groß, um gewöhnliche Funktionen zu unterscheiden.
4. Instanzobjekte können die Eigenschaften und Methoden im Konstruktor erben. Eigenschaften können jedoch nicht zwischen Instanzen desselben Objekts gemeinsam genutzt werden.
2. Prototyp (Prototyp): Es ist ein Objekt, das die Attributvererbung des Objekts implementiert. Objekte in Javascript verweisen über proto auf Prototypobjekte, auf die über Object.__proto__
3 zugegriffen werden kann. Konstruktor und Verbindung mit Prototyp:
<script> function Demo(){ } var demo = new Demo() var data= demo.prototype = function(){ } console.log(demo.__proto__) console.log(data.constructor ) console.log(data.prototype.__proto__) console.log(demo.constructor.prototype) console.log(demo.constructor) 输出: {constructor: ƒ}constructor: ƒ Demo()__proto__: Object ƒ Function() { [native code] } {constructor: ƒ, __defineGetter__: ƒ, __defineSetter__: ƒ, hasOwnProperty: ƒ, __lookupGetter__: ƒ, …} {constructor: ƒ} ƒ Demo(){ } </script>
Ausgabe von oben Die Ergebnisse sind zu sehen:
Der __proto__ des Konstruktors zeigt auf das Prototypobjekt.
Der Konstruktor des Prototyps zeigt auf die Konstruktorfunktion.
Der Prototyp.__proto__ des Prototyps ist gleich Object .__proto__;
Der Konstruktor der Instanz .prototype zeigt auf den Prototyp
![146000018155881][1]
Das obige ist der detaillierte Inhalt vonEinführung in die Beziehung zwischen Konstruktoren und Prototypketten in JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!