Este artículo describe el uso de funciones anónimas en JavaScript. Compártelo para su referencia. El análisis específico es el siguiente:
resumen:
Este artículo explica lo más básico e importante de las funciones de JavaScript. La razón por la que escribí este artículo es porque lo pregunté durante la entrevista, que también se considera revisando el pasado y aprendiendo lo nuevo.
Tomemos un ejemplo primero. Si lo comprende, significa que ha entendido de qué va a hablar este artículo.
Copie el código de la siguiente manera: var f = (function () {
función f () {return 10;}
return f ();
función f () {return 20;}
var f = 30;
}) ();
console.log (f);
En la programación avanzada de JavaScript, las funciones se describen de esta manera: pueden encapsular cualquier número de declaraciones y pueden llamarse y ejecutarse en cualquier lugar y en cualquier momento. He introducido el modo estricto antes, y el modo estricto tiene algunas limitaciones en las funciones:
① La función no se puede nombrar evaluación o argumentos
② Los parámetros no se pueden nombrar como eval o argumentos
③ Dos parámetros con nombre no pueden ser el mismo nombre
La situación anterior causará errores de sintaxis y el código no se ejecutará.
Definición de función
Las definiciones de funciones se dividen en tres tipos
1. Constructor
La copia del código es la siguiente: var divertir = new Funciton ();
2. Definición ordinaria
Copie el código de la siguiente manera: function Fun () {}
3. Definición funcional
La copia del código es la siguiente: var divertir = function () {};
Las tres formas pueden definir la función de la función.
parámetro
A las funciones no les importa en cuántos parámetros se pasan, ni les importa en qué tipo de datos pasan los parámetros. Incluso si la función que define solo recibe dos parámetros, no necesariamente puede pasar dos parámetros al llamar a esta función. Uno o tres se pueden pasar o incluso sin parámetros. La razón es que los parámetros están representados internamente por una matriz. En el cuerpo de la función, puede acceder a la matriz de parámetros a través del objeto de argumentos, por ejemplo
Copie el código de la siguiente manera: función sayshi () {
alerta ("hola" + argumentos [0] + "," + argumentos [1]);
}
Al acceder a la propiedad de longitud del objeto de argumentos, podemos saber cuántos parámetros hay. La longitud de la función devolverá el número de parámetros de la función.
Nota: Todos los parámetros pasan valores, y es imposible pasar los parámetros a través de referencias.
Las funciones no se pueden sobrecargar, solo se pueden reescribir.
Si se definen dos funciones con el mismo nombre, el nombre pertenece a la última función definida, por ejemplo:
La copia del código es la siguiente:
función add (num) {
devolver num + 100;
}
función add (num) {
retorno num + 200;
}
resultado var = add (100) // 300
Nota: La función se detiene y sale inmediatamente después de ejecutar la declaración de retorno.
Tipos de funciones
Las funciones se dividen en dos tipos: una función de nombre y función anónima. Por ejemplo, la siguiente función famosa
Copie el código de la siguiente manera: function Fun () {
}
Si se llama, solo se necesita diversión ().
Las funciones anónimas, como su nombre lo indica, no tienen nombres de funciones. Por ejemplo
función() {}
Las llamadas de funciones se llaman a través de nombres de funciones. ¿Cómo llamar a las funciones anónimas? Una es asignar una función anónima a una variable, lo que permite que esta variable actúe como el nombre de la función. Otra forma es usar () para llamarlo, por ejemplo, los siguientes tres métodos
1. (Function () {return;} ());
2. (Function () {return;}) ();
3. Function () {return;} ();
ejemplo:
La copia del código es la siguiente:
(función (x, y) {
Alerta (x + y);
}) (2,3);
// Alerta (5)
2 y 3 se pasarán como parámetros a X e Y
Hablemos del mejor ejemplo. Este ejemplo implica cierres, que se discutirán más adelante.
Primero, defina una variable F y luego asigne una función anónima. Aquí debemos tener en cuenta que las definiciones de todas las variables en la función serán preestablecidas, por lo que la orden de ejecución en la función anónima es
La copia del código es la siguiente:
var f = (function () {
Var f = 30;
función f () {return 10;}
función f () {return 20;}
return f ();
}) ();
La variable externa F y la variable interna F no están en el mismo alcance (cierre), por lo que no se afectan entre sí. Debido a que la función no se puede sobrecargar, la variable externa f = (función f () {return 20;}) ();, para que la salida final sea 20.
Espero que este artículo sea útil para la programación de JavaScript de todos.