En el mundo de JavaScript, hay muchas maneras de definir funciones, lo cual es un reflejo de la flexibilidad de JavaScript, pero es esta razón lo que confunde a los principiantes, especialmente para los estudiantes que no tienen una base de idiomas. Como dice el refrán, todos los caminos conducen a Roma, pero si hay demasiados caminos, hará que el viajero sea perdido porque no sabe qué carretera es el camino correcto. Jaja, estoy hablando de tonterías, y hablaré menos, leeré el código primero:
La copia del código es la siguiente:
/*El primer método usa la instrucción de función, el formato es el siguiente*/
función fn () {
alerta ("Esta es la declaración de función para la definición de función");
}
fn ();
/*El segundo método, use el constructor function () para clonar la función*/
var f = nueva función ("a", "b", "alerta (a+b)");
F (a, b);
De hecho, es equivalente al siguiente código:
función f (a, b) {
alerta (a+b);
}
/*El tercer método es usar la función para contar directamente*/
var zhenn = function () {
alerta ("zhen");
}
Zhenn ();
Entre ellos, los métodos para usar "declaraciones de función" y usar "cantidad de función directa" para definir funciones parecen ser más comunes y fáciles de entender, por lo que no diré mucho al respecto aquí. En general, rara vez se usa para clonar funciones utilizando el constructor function (), porque una función generalmente consta de múltiples declaraciones. Si se pasan como una cadena como parámetro, inevitablemente hará que la legibilidad del código sea pobre.
Permítanme mencionar el constructor por el camino aquí. De hecho, desde una perspectiva literal, el constructor parece ser una función. De hecho, no es una función, sino solo un modelo de función. Para dar un ejemplo inapropiado, el constructor es equivalente a un automóvil recién ensamblado. Ya sea que esté lejos o cerca, es un automóvil, pero aún no se ha reabastecido (representa un paso necesario antes de su uso), por lo que no puede comenzar. Si desea que el automóvil conduzca normalmente, debe agregarle aceite. De hecho, este proceso es equivalente a la instanciación del constructor, ¡de lo contrario no se ejecutará normalmente! Vea el siguiente ejemplo:
La copia del código es la siguiente:
función fn () {// Defina el constructor
this.elem = "Aquí está el constructor de funciones () para definir la función, jaja";
this.fn = function () {
alerta ("Esto es para definir la función utilizando el constructor de funciones (), jeje");
}
}
var f = new fn (); // Instanciación
alerta (F.Elem);
f.fn ();