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

So verwenden Sie den Vue-Video-Player für eine Live-Übertragung

Inhaltsverzeichnis 1. Installieren Sie den Vue-Vi...

Node-Skript realisiert automatische Anmelde- und Lotteriefunktion

Inhaltsverzeichnis 1. Einleitung 2. Vorbereitung ...

Einige Verbesserungen in MySQL 8.0.24 Release Note

Inhaltsverzeichnis 1. Verbindungsmanagement 2. Ve...

So verwenden Sie benutzerdefinierte CSS-Variablen in Vue

Inhaltsverzeichnis Die benutzerdefinierte CSS-Var...

MySQL-Abfragedaten stündlich, geben Sie 0 ein, wenn keine Daten vorhanden sind

Nachfragehintergrund Als statistische Schnittstel...

Vergleich der Verwendung von EXISTS und IN in MySQL

1. Verwendung: (1) EXISTS-Nutzung Wählen Sie a.ba...

Eine kurze Diskussion zur MySQL-Indexoptimierungsanalyse

Warum sind die von Ihnen geschriebenen SQL-Abfrag...

Detaillierte Erklärung zur Verwendung der Vue h-Funktion

Inhaltsverzeichnis 1. Verstehen 2. Verwendung 1. ...

Diagramm zur Installation von VMware 14 unter Windows 10

Software-Download Link zum Herunterladen der Soft...

JavaScript-Canvas zum Erzielen eines Code-Rain-Effekts

In diesem Artikel wird der spezifische Code für C...