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:
var area = function() {
var width = 3;
var height = 2;
return width * height;
}();
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:
var area;
(function() {
var width = 3;
var height = 2;
area = width * height;
}());
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.
- Como argumento cuando se llama a una función (para calcular valores, etc.)
- Para asignar el valor de una propiedad a un objeto.
- En caso de controladores y oyentes.
- Para evitar conflictos entre dos scripts que podrían usar los mismos nombres de variables. Se pueden usar como envoltorios para colocar código en otro script donde no está seguro de si los nombres de las variables pueden ser los mismos.