Cuando creamos un objeto con un constructor, sus propiedades se agregarán a esto. Y los atributos agregados a esto no cambiarán en realidad con la entidad, y en este momento, nuestro enfoque parecerá ineficiente. Por ejemplo:
Funcionar ella () {this.name = 'Anna';}Esto significa que cada vez que creamos un objeto de instancia con New Her (), generaremos un atributo de nombre nuevo y tendremos su propio espacio de almacenamiento en la memoria que pertenece al atributo. De hecho, podemos agregar el atributo de nombre al prototipo, para que todas las instancias puedan compartir este atributo de nombre:
function his () {} Her.prototype.name = 'Anna';De esta manera, cuando usamos nuevo Her () para crear un objeto, el atributo de nombre ya no es una propiedad privada del nuevo objeto, sino que se agrega al prototipo del objeto. Aunque este enfoque será muy eficiente, también es para las propiedades inmutables en el objeto de instancia. Esto es seguro. Si cambia esta propiedad, se cambiará el atributo de todos los nuevos objetos creados. Esto no es lo que queremos ~~~. Las propiedades públicas de un objeto son particularmente adecuadas para este enfoque.
Aquí, mejoremos un ejemplo anterior:
function his () {}; her.prototype.name = 'anna'; her.prototype.ToString = function () {return this.name;} function his () {}; his.prototype = new Her (); his.prototype.constructor = his; his.prototype.sex = 'mujeres';Como puede ver, generalmente completamos la construcción de la herencia relevante antes de expandir el objeto prototipo, de lo contrario, los nuevos métodos de atributo posteriores en su.
función niño (f, m) {this.eat = f; this.don = m;} child.prototype = new His (); child.prototype.constructor = child; child.prototype.name = 'jok'; child.prototype.fun = function () {return this.eat + this.don}Como puede ver, la diferencia entre llamar a toString () es en realidad solo el pequeño número de operaciones detrás de escena. La principal diferencia son las propiedades, el trabajo de búsqueda de métodos ocurrirá más en Her.Prototype.
El método de implementación de JavaScript anterior para migrar atributos compartidos al prototipo es todo el contenido que comparto con usted. Espero que pueda darle una referencia y espero que pueda apoyar más a Wulin.com.