En proyectos reales, generalmente usamos constructores para crear un objeto y luego agregamos algunos métodos de uso común a su objeto prototipo. Finalmente, instanciar el objeto directamente o úselo como la clase principal, declare un objeto y herede la clase principal.
Hay dos formas comunes de heredar.
La copia del código es la siguiente:
// clase premium
Función persona (nombre) {
this.name = name;
};
// subclase
Funcion Student (Sex) {
Person.apply (esto, argumentos);
this.sex = sexo;
};
1. Prototipo heredado:
La copia del código es la siguiente:
Student.prototype = persona.prototype; Debido a que la persona.prototype.constructor apunta a la persona, la asignación del objeto es esencialmente una asignación de referencia, por lo que student.prototype.constructor también señala a la persona
Student.prototype.constructor = estudiante;
Use el objeto prototipo de la persona para sobrescribir el objeto prototipo del estudiante; .
Mira lo siguiente:
La copia del código es la siguiente:
Student.prototype.add = function () {alert ("add")};
Persona.prototype.add (); // popt add
2. Ejemplo de herencia:
La copia del código es la siguiente:
Student.Prototype = New Person ();
2 Student.Prototype.Constructor = Student;
Use la instancia de la persona para sobrescribir el objeto prototipo del estudiante; No se reflejará en persona. Prototipo, es decir, la subclase no afectará a la clase principal.
3. Use objetos de control para combinar las ventajas de 1 y 2 para eliminar las desventajas
La copia del código es la siguiente:
var f = function () {};
F.prototype = persona.prototype;
Student.prototype = new f ();
Student.Prototype.Constructor = Student;
F es un objeto vacío, con solo algunos métodos prototipos anteriores, que consumen menos memoria al instancias de instancias, y también aísla el impacto de las subclases en las clases principales.