Die Beziehung zwischen der Konstruktorinstanz und dem Prototyp1. Jede Funktion hat eine Prototypeigenschaft, die ein Objekt ist Funktion F () {} console.log(F.prototype) // => Objekt //Prototypobjekt F.prototype.sayHi = function () { console.log('Hallo!') } 2. Das Prototypobjekt des Konstruktors verfügt standardmäßig über eine Konstruktoreigenschaft, die auf die Funktion verweist, in der sich das Prototypobjekt befindet. konsole.log(F.constructor === F) // => true //Zeigt dies an 3. Das durch den Konstruktor erhaltene Instanzobjekt enthält einen Zeiger auf das Prototypobjekt des Konstruktors _proto_ var Instanz = new F() console.log(Instanz.__proto__ === F.prototype) // => true Dies bedeutet, dass das vom aktuellen Konstruktor erstellte Instanzobjekt einen Zeiger enthält, der Daher können wir direkt auf die Mitglieder des Prototypobjekts zugreifen, indem wir die Instanz verwenden Beispiel: instance.sayHi() // => drucke „Hallo!“ Beachten Prototyp-Eigenschaft
Das bedeutet, dass wir die Eigenschaften und Methoden, die alle Objektinstanzen gemeinsam nutzen müssen, direkt am Prototypobjekt definieren können. Beispiel: Funktion Person (Name, Alter) { dieser.name = Name this.age = Alter } console.log(Person.prototype) //Prototyp drucken Person.prototype.type = 'human' //Mensch in die Eigenschaften des Prototypobjekts einbinden Person.prototype.sayName = function () { //Sie können auch Funktionen definieren console.log(this.name) } sei p1 = neue Person(...) sei p2 = neue Person(...) console.log(p1.sayName === p2.sayName) // => true Wir können sehen, dass das von Dies liegt daran, dass sich Suchprinzipien für Attribute oder MitgliederWir wissen, dass mehrere Instanzobjekte Eigenschaften oder Mitglieder im Prototypobjekt gemeinsam nutzen können. Wie wird also dieser Mechanismus zur gemeinsamen Nutzung in JS implementiert? Hier ist das Suchprinzip von Attributen zu erwähnen Immer wenn der Code eine Eigenschaft eines Instanzobjekts liest, wird nach einer Eigenschaft oder einem Mitglied mit dem angegebenen Namen gesucht. Der Suchvorgang läuft wie folgt ab: 1. Starten Sie die Suche von der Objektinstanz selbst aus 2. Wenn im Instanzobjekt ein Attribut mit einem bestimmten Namen gefunden wird, wird der Wert des Attributs zurückgegeben 3. Wenn nicht gefunden, suchen Sie weiter nach dem Prototypobjekt, auf das der im Instanzobjekt enthaltene Zeiger zeigt (siehe oben), und suchen Sie im Prototypobjekt nach dem Attribut mit dem angegebenen Namen 4. Wenn diese Eigenschaft im Prototypobjekt gefunden wird, wird der Wert der Eigenschaft zurückgegeben Bei der Ausführung ZusammenfassenDas Obige ist das Grundprinzip mehrerer Instanzobjekte, die die vom Prototyp bereitgestellten Eigenschaften und Methoden gemeinsam nutzen! Dieser 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:
|
<<: Installationsschritte für das grafische MySQL-Verwaltungstool Navicat
>>: HTML verwendet Canvas, um die Bullet-Screen-Funktion zu implementieren
Ich bin heute auf ein kleines Problem gestoßen und...
Dieser Artikel stellt hauptsächlich vor, wie pagi...
1. CSV-Datei importieren Verwenden Sie den folgen...
Vorwort Vor vielen Jahren war ich ein Neuling auf...
Haftungsausschluss: Mit dieser Methode zum Zurück...
In diesem Artikelbeispiel wird der spezifische Co...
Inhaltsverzeichnis 1. Vorlage 2. Generika 3. Gene...
Inhaltsverzeichnis 1. Angelegenheiten: Vier Haupt...
Beim Schreiben der Projektseite stieß ich auf das...
CenOS6.7 installiert MySQL8.0.22 (empfohlene Samm...
In diesem Artikel wird der spezifische Code für V...
Dieser Artikel veranschaulicht anhand von Beispie...
Inhaltsverzeichnis Was ist ein Headless-Browser? ...
In diesem Artikelbeispiel wird der spezifische Ja...
Inhaltsverzeichnis Vorwort Szenariosimulation Zus...