Primero veamos el siguiente código:
Function Machine (Ecode, HorsePower) {this.ecode = Ecode; this.horsePower = HorsePower;} function showMe () {alerta (this.name + "" + this.ecode + "" + this.horsePower);} var máquina = new Machine ("code1", 15); maquinar.name = "máquina1"; máquina.showme = showme; máquina.showMe ();En esta pieza de código, después de crear un objeto de máquina, la función showMe se convierte en el método de máquina de objeto de la máquina a través de la máquina.showme = showme;
Sin embargo, depende de las dos funciones anteriores (una es el constructor de objeto y el otro es el método ordinario) que no tiene nada que ver entre sí. Tal código no es tan "elegante", por lo que hay un prototipo.
// máquina de la máquina de la máquina (Ecode, HorsePower) {this.ecode = Ecode; this.horsePower = HorsePower;} // Presta especial atención a esta oración. Machine.prototype se inicializa cuando se inicializa por primera vez. // Al llamar a la máquina como el constructor, el valor del motor no cambiará nuevamente mecan.prototype.engine = this.ecode + "" + this.horsepower; máquina.prototype.showme = function () {alert (this.name + "" + this.ecode + "" + this.horsepower); }Usando el código anterior, todos los objetos de la máquina tienen un método ShowMe.
Pero preste especial atención a:
El prototipo solo enfrenta instancias, no objetos de clase. (En JS, la clase en sí es un objeto) Entonces, Machine.ShowMe (); informará un error porque el objeto de la máquina no tiene un método showMe.
Entonces, ¿cómo usamos el método ShowMe? Se debe crear una nueva instancia de máquina, y solo la instancia de la máquina tendrá este método.
var máquina = new Machine ("Code1", 15); Machine.name = "Machine1"; Machine.ShowMe (); // Máquina de salida1 Código1 15.Con el prototipo, es más fácil para nosotros implementar relaciones de herencia. Por ejemplo, si escribo una clase de automóvil ahora, necesito heredar la clase de máquina actual, y solo necesito escribir el siguiente código:
// CAR FUNCIÓN CAR (Nombre, Ecode, HorsePower) {this.name = name; // Calcular el constructor de la clase principal, de modo que el objeto del automóvil tiene atributos Ecode y caballos de fuerza máquina.La anotación es muy clara aquí, por lo que no entraré en detalles.
Luego, podemos crear un nuevo objeto para probarlo:
// Crear un nuevo objeto de auto de clase. var xiali = auto nuevo ("xiali", "aaa", 15); alerta (xiali.engine); xiali.showme ();Lo anterior es la aplicación básica del prototipo, pero también es la aplicación más importante del prototipo.
El uso del prototipo que maestras tendrá una comprensión más profunda de la construcción y la herencia de los objetos en el futuro.
Para ver más sintaxis de JavaScript, puede seguir: "Tutorial de referencia de JavaScript" y "Guía de estilo de código JavaScript". También espero que todos apoyen más a Wulin.com.