Esto es casi una curiosidad. En Javascript puedes hacer una función que se invoca al momento de declararla, así:
mi_funcion = function(){
alert("hola");
}();
Carga eso en tu navegador. La palabra “hola” aparecerá en un alert apenas refresques la página.
¿Qué pasó?
Normalmente, uno declararía una función asignándola a una variable, así:
var mi_funcion = function(){
alert("hola");
}
Para luego, en otra parte del código, invocarla una o más veces.
mi_funcion();
En Javascript, una variable puede contener una función. Basta con agregar los paréntesis al nombre de la variable para invocar a la función contenida en la variable.
var mi_funcion = function(){
alert("hola");
}
var mi_variable = mi_funcion;
mi_funcion();//esto funciona
mi_variable();//esto también funciona
Entonces, es posible agregar los paréntesis al final de la declaración de la función, y esta se ejecutará inmediatamente y una sola vez. Este es otro ejemplo que recibe un parámetro.
var mi_funcion = function(param){
alert(param);
}(”Hola Mundo!”);
¿y para qué sirve?
Exacto. No para mucho. Las funciones autoejecutables se invocan una única vez e inmediatamente apenas el intérprete de Javascript ha cargado el código.
Un uso posible es crear funciones dinámicas que puedes usar despues en tu aplicación, por ejemplo, para agregar métodos a los objetos base de Javascript. En éste artículo puedes entender un poco más de esto.
Más que nada, estos ejemplos nos dan más pistas sobre la versatilidad de Javascript.
Autor: Ismael Celis
http://www.estadobeta.com/2006/07/22/funciones-autoejecutables-en-javascript/
Usuarios que han visto este tema también han visto...
- Abrir Popup
- Calendario en JavaScript
- Hojas de Estilo con JavaScript
- Averiguar el zoom en un mapa de Google Maps
- Cerrar ventanas con Javascript
- Versión imprimible de este documento
- Enviar por e-mail este documento