Der vorherige Artikel hat die Kombinationsvererbung eingeführt, und jetzt werden wir über die verbleibenden Erbschaften sprechen.
Prototyp -Vererbung
Rufen Sie eine Funktion auf und empfangen Sie das von dieser Funktion zurückgegebene Objekt. Der Prototyp dieses Objekts ist das an die Funktion übergebene Parameterobjekt.
wie:
Funktion personObject (o) {Funktion f () {} f.prototype = o; Neue f ();} var person = {Name: "Nicholas", Freunde: ["Shelby", "Court", "van"]} var person_one = personObject (Person);Aus dem obigen Code wissen wir, dass diese Person der Prototyp von Person_one ist. ES5 hat eine Methode zur Normalisierung der Prototyp -Vererbung hinzugefügt. Diese Methode ist Object.create (). Diese Methode hat zwei Parameter. Das erste ist ein Objekt als Prototyp des neuen Objekts, wie die obige Person, und das zweite ist ein Objekt, das zusätzliche Attribute für das neue Objekt definiert. Der zweite Parameter ist optional.
wie:
var person_one = Object.create (Person, {Name: {value: "jon"}});Wenn Sie nur ein Objekt ähnlich wie ein anderes behalten möchten, können Sie eine Prototyp -Vererbung verwenden.
Parasitäres Vererbung
Implementieren Sie das Prototyp -Vererbung in einer Funktion und fügen Sie dem empfangenen Objekt Ihre eigenen Eigenschaften und Methoden hinzu.
wie:
Funktion createanother (o) {var person_one = personObject (o); person_one.sayhi = function () {alert ("hi"); } return person_one;}Parasitäre Kombinationserbranz
Die Kombinationsvererbung hat auch ihre Nachteile. Es implementiert zwei Attributvererbung, und die parasitäre Kombinationsvererbung vermeidet dieses Problem. Instanzen erben Attribute durch Konstruktoren, während die Prototypmethode durch parasitäre Vererbung vererbt wird.
wie:
Funktion inherit (subtyp, SuperType) {var Prototype = Object (SuperType.Prototype); Prototyp.Constructor = Subtyp; subtyp.Prototype = prototyp;}Durch Aufrufen der obigen Funktion ist der Prototyp von subtye.Prototype SuperType.Prototyp, der die Vererbung der Prototypmethode vervollständigt.
Die obige JavaScript -Analyse zur Vererbung ist der gesamte Inhalt, den ich mit Ihnen teile. Ich hoffe, Sie können Ihnen eine Referenz geben und ich hoffe, Sie können wulin.com mehr unterstützen.