Das Beispiel in diesem Artikel beschreibt die Prototypkette von JavaScript. Teilen Sie es als Referenz mit allen. Die spezifische Analyse lautet wie folgt:
Früher dachte ich, es sei eine sehr tiefgründige Sache, und nachdem ich heute einige Einführungen gelesen hatte, fand ich dieses Bild, was bedeutet, dass keine Sprache es klarer erklären kann als dieses Bild.
Nachdem ich mir dieses Bild angesehen habe, habe ich plötzlich ein qualitatives Verständnis von Javascript.
Es gibt zwei Arten von JavaScript-Prototypketten: explizit und implizit:
Explizite Prototypenkette: ist unser gemeinsamer Prototyp
Implizite Prototypenkette: Sie ist unter normalen Umständen nicht zugänglich, also unsichtbar. Sie kann über __proto__ unter FireFox aufgerufen werden; die implizite Prototypenkette wird verwendet, um innerhalb der Javascript-Engine zu suchen ., eingestellt durch Anzeige der Prototypenkette;
1. Das Konzept von Prototyp und __proto__
__proto__ ist ein integriertes Attribut, das einem Objekt gehört (bitte beachten Sie: Prototyp ist ein integriertes Attribut einer Funktion und __proto__ ist ein integriertes Attribut eines Objekts. Es handelt sich um ein intern von JS verwendetes Attribut). um die Prototypenkette zu finden.
Sowohl Chrome als auch FF können auf das __proto__-Attribut des Objekts zugreifen, IE jedoch nicht.
2. Der neue Prozess
var Person = function(){}; var p = new Person();
(1) var p={}; Mit anderen Worten, initialisieren Sie ein Objekt p
(2) p.__proto__ = Person.prototype;
(3) Person.call(p); das heißt, p wird konstruiert, was auch als Initialisierung p
bezeichnet werden kann
var Person = function(){}; var p = new Person(); alert(p.__proto__ === Person.prototype);
3. Beispiel
var Person = function(){}; Person.prototype.sayName = function() { alert("My Name is Jacky"); }; Person.prototype.age = 27; var p = new Person(); p.sayName();
Wie funktioniert der Aufwärts-Traceback hier nach oben? Hier müssen wir das Attribut __proto__ verwenden, um für die Suche eine Verknüpfung zum Prototyp (also Person.prototype) herzustellen. Endlich wurde das Altersattribut auf dem Prototyp gefunden.
Ich hoffe, dass dieser Artikel für das JavaScript-Programmierdesign aller hilfreich sein wird.