Prototyp-KettendiagrammGrundlegendes Wissen für das Prototyping Um den Prototyp zu verstehen, müssen Sie drei Eigenschaften verstehen: 1.__proto__ und Konstruktorattribute sind für Objekte eindeutig; 2. Die Prototypeigenschaft ist nur Funktionen vorbehalten. 3. In js sind Funktionen auch ein Objekttyp, daher haben Funktionen auch die Eigenschaften __proto__ und Konstruktor; Fünf Regeln des Prototyps: 1. Alle Referenztypen (Objekte, Arrays, Funktionen) haben Objekteigenschaften, d. h. sie können Eigenschaften frei erweitern 2. Alle Referenztypen (Objekte, Arrays, Funktionen) haben ein Attribut __proto__ (impliziter Prototyp), das ein normales Objekt ist 3. Alle Funktionen haben eine Prototyp-Eigenschaft (expliziter Prototyp), die auch ein normales Objekt ist 4. Alle Referenztypen (Objekte, Arrays, Funktionen) __proto__-Werte zeigen auf den Prototyp seines Konstruktors 5. Wenn beim Versuch, die Eigenschaft eines Objekts abzurufen, die Variable selbst diese Eigenschaft nicht besitzt, wird in ihrem __proto__ danach gesucht. Prototypeigenschaft (Prototyp anzeigen)Erstellen Sie zuerst einen Konstruktor var Übergeordnetes Element = Funktion(){ } //Definieren Sie eine Funktion. Es ist nur eine gewöhnliche Funktion. var p1 = new Parent(); //Durch das Schlüsselwort new wird Parent zum Konstruktor //Erstellt eine Instanz eines Parent-Konstruktors p1
Parent ist der Konstruktor, Parent.prototype ist der Prototyp Die zu Proto-Eigenschaft (impliziter Prototyp)Die Eigenschaft __proto__ ist für Objekte (einschließlich Funktionen) eindeutig. Jedes Objekt hat eine __proto__-Eigenschaft, die auf das Prototypobjekt des Objekts verweist. p1.__proto__ === Übergeordneter.Prototyp; // wahr __proto__ wird normalerweise als impliziter Prototyp bezeichnet, und Prototyp wird normalerweise als expliziter Prototyp bezeichnet. Man kann sagen, dass der implizite Prototyp eines Objekts auf den expliziten Prototyp des Konstruktors des Objekts verweist. Anschließend werden die im expliziten Prototyp definierten Eigenschaftsmethoden über den impliziten Prototyp an die Instanz des Konstruktors übergeben. Auf diese Weise kann die Instanz einfach auf die Methoden und Eigenschaften des Konstruktor-Prototyps zugreifen. Der implizite Prototyp von Parent.prototype.__proto__ === Objekt.prototype; //wahr Dies führt das Konzept der Prototypenkette ein. Wenn Wenn es nicht in Object.prototype gefunden wird, wird natürlich in Die Konstruktor-EigenschaftDa die Konstruktorfunktion über den Prototyp auf den Prototyp zugreift, sollte der Prototyp auch über eine gewisse Mittel, nämlich den Konstruktor, auf die Konstruktorfunktion zugreifen können. Wie im vorherigen Beispiel ist p1 ein Objekt und der Konstruktor von p1 ist Parent(). Der Konstruktor des übergeordneten Elements ist Function() p1.constructor => f Elternteil{} Parent.constructor => f Funktion() { [nativer Code] } Function.constructor => ƒ Function() { [nativer Code] } Die Funktion ist der Stammkonstruktor aller Funktionen. Aus dem Beispiel können wir ersehen, dass ZusammenfassenDieser Artikel endet hier. Ich hoffe, er kann Ihnen helfen. Ich hoffe auch, dass Sie mehr Inhalt auf 123WORDPRESS.COM lesen können! Das könnte Sie auch interessieren:
|
<<: Reines CSS zum Ändern der Layoutgröße durch Ziehen nach links und rechts
In diesem Artikel wird der spezifische Code von V...
Inhaltsverzeichnis 1. Umwelt 2. Vorbereitung 3. I...
Ich habe erst vor Kurzem angefangen, mich mit Dat...
Inhaltsverzeichnis 1. Erstellen Sie zunächst mit ...
Export: docker save -o centos.tar centos:latest #...
In diesem Artikel wird ein JS-Spezialeffekt vorge...
Inhaltsverzeichnis Portainer verwaltet mehrere Do...
beschreiben: fuser kann anzeigen, welches Program...
Deinstallieren Bestätigen Sie zunächst mit dem fo...
TABELLE> <TR> <TD> <TH> <...
Inhaltsverzeichnis Saltstack stellt Zabbix-Dienst...
Vorwort Im Falle eines Primärschlüsselkonflikts o...
Dieser Artikel verwendet das Centos7.6-System und...
Problembeschreibung: Der Inhalt der Datei 11 laut...
Inhaltsverzeichnis Erster Blick Erstellen einer V...