Friday, November 30, 2012

Javascript : Auto-Invoked Anonymous Function

¿Qué es?

Es una función anónima que es ejecutada justo después de ser creada.


Explicación de la sintaxis

El proceso evolutivo desde la llamada “clásica” hacia la función auto invocada sería el siguiente.


¿Por qué envolvemos con paréntesis la instanciación de la función?

Para evitar un error de sintaxis. Según la documentación de ECMA en la sección 12.4 una expresión no puede empezar por la palabra ‘function’ para evitar ambigüedades con una declaración de función.



En este mismo apartado indica que no puede empezar por ‘{’ para evitar ambigüedad con un bloque.

¿Para qué sirven estas funciones?

El ámbito de actuación de una variable está limitado a la función en la cual es declarada. Por lo que si estamos desarrollando un plugin o un framework y lo hacemos dentro de una función sabemos que las variables que usamos no van a cambiar de valor en cualquier momento a raíz de otro componente.

Obviamente tendremos que tener cuidado si hacemos referencia a variables que estén en niveles superiores.

Documentación

No comments:

Post a Comment