Wenn Sie mit Prototypobjekten und Prototypattributen in JS sehr vertraut sind, wird es Ihnen später sehr leicht fallen, die Prototypkette und die Vererbung zu verstehen.
1 function Person(){ 2 } 3 Person.prototype.name = "jingzi"; 4 Person.prototype.age = 20; 5 Person.prototype.sayName = function(){ 6 alert(this.name); 7 }; 8 9 var person1 = new Person();10 person1.sayName(); //"jingzi"
Dies ist ein im Prototypenmodus erstelltes Objekt. Der Code ist sehr kurz und nicht schwer zu verstehen. Wenn Sie Zweifel am Prototyp haben, lesen Sie bitte weiter
Bitte ignorieren Sie diese hässliche Illustration (.・_・.)ノ. Dies ist der Schlüssel zum Verständnis des Problems ~ Kommen wir zum Text. . . .
Wenn jede Funktion erstellt wird, verfügt sie über ein Prototyp-Attribut, das auf das Prototyp-Objekt der Funktion verweist. Standardmäßig erhält jedes Prototypobjekt ein Konstruktorattribut, das einen Zeiger auf die Funktion enthält, in der sich das Prototypattribut befindet.
Wie oben gezeigt, verfügt eine Person-Funktion beim Erstellen über ein Prototypattribut, das auf das Prototypobjekt „Person Prototype“ zeigt, und dieses Prototypobjekt verfügt über ein Konstruktorattribut, dessen Zeiger auf Person zeigt , Prototyp Die Funktion Person, in der sich das Attribut befindet. Wenn Sie eine Objektinstanz erstellen, verfügt diese über ein Prototypattribut (da jede Funktion beim Erstellen ein Prototypattribut hat (^o^)/). Dieses Prototypattribut verweist auf sein Prototypobjekt und nicht direkt auf seine Konstruktorperson.
Hier müssen Sie bedenken, dass das Instanzobjekt über das Prototypobjekt mit dem Konstruktor verbunden ist.
Verwandte Empfehlungen:
Detaillierte Erklärung des JS-Prototyps
7 empfohlene Artikel über die JS-Prototypkette
Eine kurze Diskussion über JS-Prototypobjekte und Prototypketten_Javascript-Fähigkeiten
Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in den js-Prototyp. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!