Prototipo del objeto JavaScript
- Página anterior Constructor de objetos JS
- Página siguiente Referencias de objetos JS
Todos los objetos JavaScript heredan propiedades y métodos de los prototipos.
En el capítulo anterior, aprendimos cómo usarConstructor de objetos:
Instancia
function Person(first, last, age, eyecolor) { this.firstName = first; this.lastName = last; this.age = age; this.eyeColor = eyecolor; } var myFather = new Person("Bill", "Gates", 62, "blue"); var myMother = new Person("Steve", "Jobs", 56, "green");
Hemos reconocido queNo se puedeAgregar nuevas propiedades a los constructores de objetos existentes:
Instancia
Person.nationality = "English";
Si necesitas agregar una nueva propiedad a un constructor, debes agregarla a la función del constructor:
Instancia
function Person(first, last, age, eyecolor) { this.firstName = first; this.lastName = last; this.age = age; this.eyeColor = eyecolor; this.nationality = "English"; }
Herencia de prototipos
Todos los objetos JavaScript heredan propiedades y métodos de los prototipos.
Los objetos de fecha heredan de Date.prototype. Los objetos de array heredan de Array.prototype. Los objetos Person heredan de Person.prototype.
Object.prototype está en la cima de la cadena de herencia de prototipos:
Los objetos de fecha, los objetos de array y los objetos Person heredan de Object.prototype.
Agregar propiedades y métodos a un objeto
A veces, te gustaría agregar nuevas propiedades (o métodos) a todos los objetos existentes de un tipo dado.
A veces, desea agregar nuevas propiedades (o métodos) a los constructores de objetos.
Uso Prototype
Propiedades
La propiedad prototype de JavaScript permite agregar nuevas propiedades a los constructores de objetos:
Instancia
function Person(first, last, age, eyecolor) { this.firstName = first; this.lastName = last; this.age = age; this.eyeColor = eyecolor; } Person.prototype.nationality = "English";
La propiedad prototype de JavaScript también permite agregar nuevos métodos a los constructores de objetos:
Instancia
function Person(first, last, age, eyecolor) { this.firstName = first; this.lastName = last; this.age = age; this.eyeColor = eyecolor; } Person.prototype.name = function() { return this.firstName + " " + this.lastName; };
Por favor, modifique soloUsted mismo原型. Nunca modifique el prototipo de los objetos JavaScript estándar.
- Página anterior Constructor de objetos JS
- Página siguiente Referencias de objetos JS