In tatsächlichen Projekten verwenden wir normalerweise Konstruktoren, um ein Objekt zu erstellen und dann einige häufig verwendete Methoden zu seinem Prototypobjekt hinzuzufügen. Schließlich instanziieren Sie das Objekt schließlich direkt oder verwenden Sie es als übergeordnete Klasse, deklarieren Sie ein Objekt und erben Sie die übergeordnete Klasse.
Es gibt zwei allgemeine Möglichkeiten zum Erben.
Die Codekopie lautet wie folgt:
// Premium -Klasse
Funktionsperson (Name) {
this.name = name;
};
// Unterklasse
Funktion Student (Sex) {
Person.Apply (dies, Argumente);
this.sex = sex;
};
1. Erbenprototyp:
Die Codekopie lautet wie folgt:
Student.Prototype = Person.Prototype; Da Person.Prototype.Constructor auf Person verweist
Student.Prototype.Constructor = Student;
Verwenden Sie das Prototyp -Objekt der Person, um das Prototyp -Objekt des Schülers zu überschreiben. .
Schauen Sie sich Folgendes an:
Die Codekopie lautet wie folgt:
Student.prototype.add = function () {alert ("add")};
Person.Prototype.add (); // popt add
2. Vererbungsbeispiel:
Die Codekopie lautet wie folgt:
Student.prototype = new Person ();
2 Student.Prototype.Constructor = Student;
Verwenden Sie die Instanz einer Person, um das Prototyp -Objekt des Schülers zu überschreiben. Es wird nicht persönlich reflektiert.
3.. Verwenden Sie Kontrollobjekte, um die Vorteile von 1 und 2 zu kombinieren, um die Nachteile zu beseitigen
Die Codekopie lautet wie folgt:
var f = function () {};
F.Prototype = Person.Prototyp;
Student.Prototype = new f ();
Student.Prototype.Constructor = Student;
F ist ein leeres Objekt mit nur einigen oben genannten Prototypmethoden, die beim Instanziieren weniger Speicher verbrauchen und auch die Auswirkungen von Unterklassen auf Elternklassen isoliert.