El artículo anterior ha introducido la herencia combinada, y ahora hablaremos sobre las herencias restantes.
Herencia prototipo
Llame a una función y reciba el objeto devuelto por esta función. El prototipo de este objeto es el objeto de parámetro pasado a la función.
como:
function PersonObject (o) {function f () {} f.prototype = o; return new f ();} var persona = {nombre: "nicholas", amigos: ["shelby", "tribunal", "van"]} var persona_one = personaObject (persona);Del código anterior, sabemos que esa persona es el prototipo de Person_one. ES5 ha agregado un método para normalizar la herencia prototipo. Este método es objeto.create (). Este método tiene dos parámetros. El primero es un objeto como prototipo del nuevo objeto, como la persona anterior, y el segundo es un objeto que define atributos adicionales para el nuevo objeto. El segundo parámetro es opcional.
como:
var persona_one = objeto.create (persona, {nombre: {valor: "jon"}});Cuando solo desea mantener un objeto similar a otro, puede usar la herencia prototipo.
Herencia parásita
Implemente la herencia prototipo en una función y luego agregue sus propias propiedades y métodos al objeto recibido.
como:
function createEnother (o) {var persona_one = personaObject (o); persona_one.sayhi = function () {alert ("HI"); } return Person_one;}Herencia de combinación parásita
La herencia combinada también tiene sus desventajas. Implementa dos herencias de atributos, y la herencia de combinación parasitaria evita este problema. Las instancias heredan los atributos a través de constructores, mientras que el método prototipo se hereda a través de la herencia parasitaria.
como:
function herhherit (subtype, supertype) {var prototype = object (supertype.prototype); prototipo.constructor = subtype; subtype.prototype = prototipo;}Al llamar a la función anterior, el prototipo de subtye.prototype es supertype.prototype, que completa la herencia del método prototipo.
El análisis de JavaScript anterior sobre la herencia es todo el contenido que comparto con usted. Espero que pueda darle una referencia y espero que pueda apoyar más a Wulin.com.