Hay tres formas de declarar funciones personalizadas en JavaScript, a saber, usar declaraciones de funciones, usar constructores Function() y definir literales de funciones.
1. Declaración de función
En JavaScript, puede utilizar la declaración de función para declarar funciones. El uso específico es el siguiente:
function funName([args]) { declaraciones }
funName es el nombre de la función, que al igual que el nombre de la variable debe ser un identificador legal de JavaScript. Después del nombre de la función hay una lista de parámetros entre paréntesis y separados por comas. Los parámetros son opcionales y no hay límite en el número.
Como identificadores, solo se accede a los parámetros dentro del cuerpo de la función; los parámetros son miembros privados del alcance de la función. Al llamar a una función, pase un valor a la función, luego use parámetros para obtener el valor pasado externamente e intervenga en la ejecución de la función dentro del cuerpo de la función.
Después del paréntesis hay una llave, y la declaración contenida en la llave es el contenido principal de la estructura del cuerpo de la función. En el cuerpo de la función, las llaves son esenciales. Sin llaves, JavaScript generará un error de sintaxis.
La declaración de funciónde ejemplo
debe contener el nombre de la función, paréntesis y llaves, y se puede omitir otro código, por lo que el cuerpo de función más simple es una función vacía.
function funName() {} //Función vacía
Si usa una función anónima, puede omitir el nombre de la función.
function () {} //
La declaración var de función vacía anónima y la declaración de función son declaraciones de declaración, y las variables y funciones que declaran se analizan cuando se precompila JavaScript, lo que también se conoce como promoción de variables y promoción de funciones. Durante el período de precompilación, el motor JavaScript creará un contexto para cada función, definirá un objeto variable y registrará todos los parámetros formales, variables privadas y funciones anidadas en la función como atributos en el objeto variable.
2. Constructor Function()
Utilice el constructor Function() para generar funciones rápidamente. El uso específico es el siguiente:
var funName = new Function(p1, p2, ..., pn, body);
Los tipos de parámetros de Function() son todas cadenas p1~pn que representan la lista de nombres de parámetros de la función creada. y el cuerpo representa las declaraciones de estructura de función creadas de una función, separadas por punto y coma entre las declaraciones del cuerpo.
El ejemplo 1
puede omitir todos los parámetros y solo pasar una cadena para representar el cuerpo de la función.
var f = new Function ("a", "b", "return a+b"); // Clona la estructura de la función a través del constructor.
En el código anterior, f es el nombre de la función creada. Se define la misma función y se pueden diseñar funciones con la misma estructura utilizando la declaración de función.
function f(a, b) { //Utilice la declaración de función para definir la estructura de la función return a + b; }
El ejemplo 2
utiliza el constructor Function() para crear una estructura de función vacía sin especificar ningún parámetro.
var f = new Function(); //Defina una función vacía.
Utilice el constructor Function() para crear funciones dinámicamente. No limita a los usuarios al cuerpo de la función predeclarado por la declaración de la función. El uso del constructor Function() permite que la función se use como una expresión en lugar de como una estructura, por lo que su uso es más flexible. La desventaja es que el constructor Function () se compila durante la ejecución, la eficiencia de ejecución es muy baja y generalmente no se recomienda su uso.
3. Función anónima (literal de función)
La función literal también se denomina función anónima, es decir, la función no tiene nombre de función y solo contiene la palabra clave de la función, los parámetros y el cuerpo de la función. El uso específico es el siguiente:
function ([args]) { declaraciones }
Ejemplo 1
El siguiente código define una función literal.
function (a, b) { //Función literal return a + b; }
En el código anterior, los literales de función son básicamente lo mismo que usar declaraciones de función para definir estructuras de funciones, y sus estructuras son fijas. Sin embargo, el literal de función no especifica el nombre de la función, sino que utiliza directamente la palabra clave función para representar la estructura de la función. Este tipo de función también se denomina función anónima.
Ejemplo 2
Una función anónima es una expresión, es decir, una expresión de función, no una declaración de una estructura de función. A continuación, asigne la función anónima como valor a la variable f.
//Asigna la función como valor directamente a la variable f var f = función (a, b) { devolver a + b; };
Cuando la estructura de la función se asigna a una variable como un valor, la variable se puede llamar como una función y la variable apunta a la función anónima.
console.log(f(1,2)); //valor de retorno 3
Ejemplo 3
Las funciones anónimas sirven como valores y pueden participar en operaciones de expresión más complejas. Para el ejemplo anterior, puede utilizar el siguiente código para completar la operación integrada de definición y llamada de función.
console.log( // Llama a la función como operando (función (a,b) { devolver a + b; })(1, 2)); //Valor de retorno 3
Una vez que se define una función, podemos llamarla en cualquier parte del documento actual. Llamar a una función es muy simple, simplemente agregue un corchete después del nombre de la función, como alerta (), escribir (). Tenga en cuenta que si los parámetros se especifican entre paréntesis después del nombre de la función al definir la función, entonces los parámetros correspondientes deben proporcionarse entre paréntesis al llamar a la función.
El código de muestra es el siguiente:
función decirHola(nombre){ document.write("Hola " + nombre); } //Llamar a la función sayHello() sayHello('sitio web chino PHP');
Consejo: JavaScript distingue entre mayúsculas y minúsculas, por lo que la palabra clave de función debe estar en minúsculas al definir una función, y la función debe llamarse en el mismo caso que cuando se declaró.
Lo anterior es un análisis en profundidad de la declaración y llamada de funciones personalizadas de JS. Para obtener más información, preste atención a otros artículos relacionados en el sitio web chino de PHP.