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
Zusammenfassung Bei der Diskussion über MySQL-Ind...
Inhaltsverzeichnis Überblick Objektrestattribut E...
MySQL auf Groß-/Kleinschreibung eingestellt Windo...
Sttty ist ein gängiger Befehl zum Ändern und Druc...
Inhaltsverzeichnis 1. Bootstrap5-Haltepunkte 1.1 ...
0. Warum brauchen wir Remote-Entwicklung? Bei der...
In diesem Artikelbeispiel wird der spezifische Im...
Die Methode zur Lösung des Problems, das anfängli...
px (Pixel) Ich glaube, jeder ist mit dem Begriff ...
Inhaltsverzeichnis 1. Vue-Übersicht Offizielle Vu...
1. Einführung in Linux .NET Core Microsoft hat .N...
Als ich früher Join-Tabellenabfragen geschrieben ...
Nginx entscheidet zunächst, welcher Serverblock i...
1. Um die MySQL-Datenbank herunterzuladen, besuch...
Kurz gesagt: Wenn Sie einen Cloud-Server eines be...