introducir
El prototipo se refiere al tipo de objetos que se crean con instancias prototipo y crean nuevos objetos copiando estos prototipos.
texto
Para el modo prototipo, podemos usar la función de herencia de prototipo única de JavaScript para crear objetos, es decir, un objeto se crea como el valor de atributo prototipo de otro objeto. El objeto prototipo en sí utiliza efectivamente los objetos creados por cada constructor. Por ejemplo, si un prototipo de constructor contiene un atributo de nombre (consulte el ejemplo a continuación), los objetos creados a través de este constructor tendrán este atributo.
Mirando la definición de patrones prototipos en la literatura existente, no hay JavaScript. Puede encontrar que muchas de las explicaciones son sobre clases, pero la realidad es que JavaScript basado en la herencia prototipo evita por completo el concepto de clase. Simplemente copiamos el objeto existente para crear el objeto.
La herencia prototipo real se propone como la última versión del estándar ECMAScript5. El método Object.Create se usa para crear dicho objeto. Este método crea un objeto especificado. El prototipo de su objeto tiene un objeto especificado (es decir, el primer objeto de parámetro transmitido por el método), y también puede contener otros atributos especificados opcionales. Por ejemplo, Object.Create (Prototype, OptionDeScriptorObjects), también puede ver este uso en el siguiente ejemplo:
La copia del código es la siguiente:
// porque no es un constructor, no es necesario capitalizarlo
var somecar = {
unidad: function () {},
Nombre: 'Mazda 3'
};
// Crear un auto nuevo con Object.Create X
var otroCar = Object.Create (Somecar);
otrocar.name = 'Toyota Kami';
Object.Create se ejecuta directamente de otros objetos. Usando el segundo parámetro de este método, puede inicializar propiedades adicionales. Por ejemplo:
La copia del código es la siguiente:
vehículo var = {
getModel: function () {
console.log ('El molde del vehículo es:' + this.model);
}
};
var car = object.create (vehículo, {
'identificación': {
Valor: my_global.nextid (),
enumerable: verdadero // Writable predeterminado: falso, configurable: falso
},
'modelo': {
Valor: 'Ford',
enumerable: verdadero
}
});
Aquí, puede usar el objeto literal para pasar en el segundo parámetro de objeto. Cree para usar el objeto literal para ingresar las propiedades adicionales que se inicializarán, y su sintaxis es la misma que el objeto. DefineProperties u Object.defineProperty Tipos de métodos. Le permite establecer propiedades de propiedades como enumerables, escritas o configurables.
Si desea implementar el modo prototipo usted mismo, en lugar de usar Object.Create directamente. Puede usar código como el siguiente para implementar el ejemplo anterior:
La copia del código es la siguiente:
VAR VEHÍCULO PROTOTIPO = {
init: function (carmodel) {
this.model = carmodel;
},
getModel: function () {
console.log ('El moho del vehículo es:' + this.model);
}
};
Vehículo de funciones (modelo) {
función f () {};
F.Prototype = VehiclePrototype;
var f = nuevo f ();
f.init (modelo);
regresar f;
}
var car = vehículo ('Ford Escort');
Car.getModel ();
Resumir
El uso del modo prototipo en JavaScript es simplemente ubicuo. Muchos otros modos también se basan en prototipo, por lo que no diré mucho. A lo que debe prestar atención aquí es el problema de la copia superficial y la copia profunda para evitar problemas de citas.