Heim  >  Artikel  >  Web-Frontend  >  Was ist eine Prototypenkette in js?

Was ist eine Prototypenkette in js?

anonymity
anonymityOriginal
2019-05-29 10:59:244194Durchsuche

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 >

Was ist eine Prototypenkette in js?

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 Prototypkette

function 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.getPrototypeOf

3 Verwenden Sie die Methode von constructionor.prototype

Fü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 zuzugreifen

Verwenden Sie die Prototypenkette, um den ANUGLAR-Bereich zu erläutern

Wä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 Prototypobjekts

Das 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!

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