prototype eficiente code
para un código mas eficiente, al constructor se le añade la propiedad prototype para añadir la function y no crear una funcion cada vez que se cree un nuevo objeto, asi todos los objetos comparte la misma funcion.
by Fabian Allel
JavaScript
//optimizacion de metodos constructor para eficiencia de código, se usa prototype
function Persona(nombre, apellido1, apellido2, edad){
this.nombre = nombre;
this.apellido1 = apellido1;
this.apellido2 = apellido2;
this.edad = edad;
if(!Persona.prototype.sumarEdad){
Persona.prototype.sumarEdad= function(){
this.edad++;
}
}
}
var persona1= new Persona('Luis', 'Gallardo', 'Galaz', 27);
var persona2= new Persona('Jose', 'Allel', 'Galaz', 2);
persona1.sumarEdad();
persona2.sumarEdad();
console.log(persona1.edad);
console.log(persona2.edad);
//los dos objetos llaman a la misma funcion gracias a Objeto.prototype, que hace que no se creern funciones por cada objeto
console.log(persona1.sumarEdad==persona2.sumarEdad);