Jeder Konstruktor verfügt über ein Prototypobjekt, das Prototypobjekt enthält einen Zeiger auf den Konstruktor und die Instanz enthält einen Zeiger auf das Prototypobjekt. Wir machen die Instanz des Prototypobjekts (1) gleich einem anderen Prototypobjekt (2),
Zu diesem Zeitpunkt enthält das Prototypobjekt (2) einen Zeiger auf das Prototypobjekt (1),
Dann sei die Instanz des Prototypobjekts (2) gleich dem Prototypobjekt (3). Diese schichtweise Abfolge bildet eine Kette von Instanzen und Prototypen. Dies ist das Konzept der Prototypkette >
Prototypkette
Jeder Konstruktor verfügt über ein Prototypobjekt und jede Konstruktorinstanz enthält einen internen Zeiger (Proto), der auf das Prototypobjekt zeigt Wenn wir den ersten Konstruktor zulassen, entspricht das Prototypobjekt der Instanz des zweiten Konstruktors. Infolgedessen enthält das Prototypobjekt des ersten Konstruktors einen Zeiger auf das zweite Prototypobjekt des ersten Konstruktors, sodass das Prototypobjekt des ersten Konstruktors dem Prototypobjekt des zweiten Konstruktors entspricht. Die drei Prototypobjekte enthalten auch Zeiger auf das erste Prototypobjekt usw., was ausreicht, um ein zu bilden Dies ist das Grundkonzept der Prototypkettefunction One(){ } function Two(){ } function Three(){ } Two.prototype=new One(); Three.prototype=new Two(); var three=new Three(); console.log(three); console.log(three.__proto__===Three.prototype) //true console.log(three.__proto__.__proto__===Two.prototype) //true console.log(three.__proto__.__proto__.__proto__===One.prototype) //true console.log(three.__proto__.__proto__.__proto__.__proto__===Object.prototype) //true
In Objektinstanzen ist die Methode zum Zugriff auf den Objektprototyp
1 Proto-Attribut Dieses Attribut ist ein vom Browser unterstütztes Attribut, kein Attribut in ECMAScript 2 .Object.getPrototypeOf3 Verwenden Sie die Methode von constructionor.prototypeFür Browser, die Proto nicht unterstützen, können Sie den Konstruktor verwenden, um auf den Konstruktor des Objekts zuzugreifen, und den Prototyp verwenden, um auf den Prototyp zuzugreifenVerwenden Sie die Prototypenkette, um den ANUGLAR-Bereich zu erläuternWährend des Entwicklungsprozesses kommt es möglicherweise zu einer Verschachtelung von Controllern Das Ergebnis, das uns von der Schnittstelle gegeben wird, ist, dass a im Selbstcontroller nun vom übergeordneten Controller geerbt wird. Wir können uns den Eltern-Kind-Bereich als zwei Prototypobjekte vorstellen. eines davon erbt die Instanz des anderen PrototypobjektsDas obige ist der detaillierte Inhalt vonWas ist eine Prototypenkette in js?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!