Este artículo analiza el uso de la herencia JS. Compártelo para su referencia. El análisis específico es el siguiente:
Herencia: la subclase no afecta a la clase principal. La subclase puede heredar algunas funciones de la clase principal (reutilización de código)
Herencia de propiedades: llame al constructor de la clase principal
Herencia del método: para en: herencia de copia (jQuery también utiliza la herencia de copia extender)
1. Copia de herencia
Function Person (name) {this.name = name;} persona.prototype.showname = function () {alert (this.name);} function worker (name, trabajo) {persona.call (this, name); this.job = Job;} Extend (Worker.Prototype, Person.prototype); // if Worker.prototype = Person.prototype, causará la misma función de referencia extender (obj1, obj2) {for (var i en obj2) {obj1 [i] = obj2 [i]}} coder = new New Trabajador ('mágico', 'frontend'); coder.showname ();2. Herencia de clase
Function Person (name) {this.name = name;} persona.prototype.showname = function () {alert (this.name);} function worker (name, trabajo) {persona.call (this, name); this.job = Job;} // trabajador.prototype = new Person (); // La herencia heredará los atributos innecesarios de la función principal f () {}; f.prototype = persona.prototype; trabajador.prototype = new f (); // Resolver mediante el establecimiento de un constructor temporal, también conocido como la función proxy var moder = new Coder = new Coder. Trabajador ('mágico', 'inicio'); coder.showname ();3. Prototipo de herencia
var a = {nombre: 'xiao ming'}; var b = cloneObj (a); b.name = 'xiaoqiang'; // alert (b.name); alert (a.name); function cloneObj (obj) {var f = function () {}; F.Prototype = obj; devolver nuevo f ();}Aplicable
Copiar herencia: el tipo de propósito general se puede usar cuando nuevo o no nuevo
Herencia de clasificación: nuevo constructor
Prototipo de herencia: objetos sin nuevos
Espero que este artículo sea útil para la programación de JavaScript de todos.