Eine kurze Diskussion über JS-Prototypen und Prototypenketten

Eine kurze Diskussion über JS-Prototypen und Prototypenketten

1. Prototyp

Alle Funktionen in JavaScript haben diese Eigenschaft und alle Objekte mit einer Prototypeigenschaft sind Funktionen. Der Zweck eines Prototyps besteht darin, einem Objekt eine Methode/Eigenschaft hinzuzufügen.

Funktion Persistenz () {}
person.prototype.name = "xiaoming"
console.log(person.prototype)//{name: "xiaoming", Konstruktor: ƒ}

2. Prototypzeiger: __proto__

Wenn die obige Persion-Funktion ein Instanzobjekt Persion1 generiert und mithilfe von prototype ein Attribut hinzufügt, lautet die Schreibweise wie folgt:

Funktion Persistenz () {}
person.prototype.name = "xiaoming"
let Persion1 = neue Persion();
console.log(Persion1) //Die Konsolenergebnisse sind wie folgt

Die Ergebnisse des Druckvorgangs für die Instanz Persion1 lauten wie folgt:

Aus den oben ausgedruckten Ergebnissen geht hervor, dass Persion1.__proto__.name = persion.prototype.name ist, d. h. das __proto__-Attribut des Instanzobjekts ist gleich dem Prototyp seines Konstruktors.

Nachdem wir das Obige verstanden haben, ist die Prototypenkette leicht zu verstehen. Wir können die Objektmethode direkt über Persion1.__proto__.__proto__ finden. Dies ist möglicherweise nicht sehr intuitiv, hier ist der Code:

Funktion Persistenz () {}
person.prototype.name = "xiaoming"
let Persion1 = neue Persion();
console.log(Persion1.__proto__.__proto__.toString) //Die toString-Methode von Object, die über die Prototypenkette gefunden wurde console.log(Object.prototype.toString) //Die toString-Methode von Object

Die Konsole druckt die folgenden Ergebnisse, die die Funktion der stufenweisen Suche der Prototypkette bestätigen.

Zusammenfassen

Jedes Objekt kann Ebene für Ebene durch die Prototypenkette, also das Attribut __proto__, durchsucht werden. Der letzte Fokus liegt auf dem Objekt, und der einzige Weg ist die Funktion. Ihre Beziehung ist wie eine Kette, und wir nennen diese Beziehung eine Prototypkette.

Oben finden Sie eine kurze Erläuterung der Details des JS-Prototyps und der Prototypenkette. Weitere Informationen zum JS-Prototyp und zur Prototypenkette finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • Detaillierte Erklärung der JavaScript-Prototypenkette
  • Details zum JavaScript-Prototyp und zur Prototypkette
  • Verstehen Sie JavaScript-Prototypen und Prototypenketten gründlich
  • Grundlegendes zur JavaScript-Prototypenkette
  • Synchrone und asynchrone JS-Schwierigkeiten sowie Umfang und Abschluss und detaillierte Erklärung von Prototypen und Prototypenketten
  • Umfassende Analyse von Prototypen, Prototypobjekten und Prototypketten in js
  • Detaillierte Erklärung von Prototypen und Prototypenketten in JavaScript

<<:  Detaillierte Analyse von MySQL-Ausführungsplänen

>>:  Detaillierter Prozess und häufige Probleme bei der VMware15-Installation von CentOS7 (Bild und Text)

Artikel empfehlen

JavaScript zum Erreichen einer festen Seitenleiste

Verwenden Sie Javascript, um eine feste Seitenlei...

Detaillierte Erklärung der 10 häufigsten HTTP-Statuscodes

Der HTTP-Statuscode ist ein dreistelliger Code, d...

Beispiel für die Implementierung einer To-Do-Anwendung mit Vue

Hintergrund Zunächst möchte ich sagen, dass ich k...

Detailliertes Tutorial zur Installation von CUDA9.0 auf Ubuntu16.04

Vorwort: Dieser Artikel basiert auf den Erfahrung...

Anwendungsbeispiele für die virtuelle Liste des WeChat-Applets

Inhaltsverzeichnis Vorwort Was ist eine virtuelle...

Probleme bei der Installation von Python3 und Pip in Ubuntu in Docker

Text 1) Laden Sie das Ubuntu-Image herunter Docke...

So erstellen Sie schnell einen FTP-Dateidienst mit FileZilla

Um die Speicherung und den Zugriff auf Dateien zu...

SQL-Fuzzy-Abfragebericht: ORA-00909: Lösung: Ungültige Anzahl von Parametern

Bei Verwendung einer Oracle-Datenbank für Fuzzy-A...