Estoy escribiendo una guía de estilo de JavaScript para mi equipo, para que podamos organizar y aportar nuestros documentos más fácilmente. Pero he golpeado un pequeño bulto que es donde se aplica mi pregunta ...
¿Qué se supone que debo llamar a una función anónima de JavaScript que se llama de inmediato? Sé que podría simplemente llamarlo una "función anónima", pero me gustaría enfatizar el hecho de que se llama de inmediato.
Aquí hay un ejemplo:
var MyVariable = (function(data){
return "another value"
})("some value");
console.log(MyVariable);
// "another value"
javascript
coding-style
terminology
silencioso
fuente
fuente
Respuestas:
Ya tienen un término para eso en el mundo Javascript. Se llaman expresiones de función invocadas inmediatamente (IIFE) .
Lo que es
Las funciones IIFE no tienen nombre. En cambio, se ejecutan una vez cuando el intérprete se encuentra con ellos:
Los paréntesis finales después de la llave de cierre del bloque de código le dicen al intérprete que llame a la expresión de la función inmediatamente.
Si escribe una declaración de función , debe agregar operadores de agrupación , o paréntesis que rodean la función, para decirle al intérprete que trate la función como una expresión que se puede invocar de inmediato:
Cuando se usan
Los IIFE se utilizan para el código que solo necesita ejecutarse una vez dentro de una tarea, en lugar de ser llamado repetidamente.
fuente
var area = ...
, no necesita los paréntesis de "ajuste" en la función, porque ya es una expresión de función en virtud de estar en el lado derecho de la función=
. Los paréntesis de ajuste solo son necesarios cuando la función se escribe como una declaración de función (es decir, sin el encabezadovar area = ...
).