Traductor




Closures

En JavaScript, las funciones anidadas tienen acceso a las variables de la función externa. 
function miFuncion(){ 
    var num = 10;
    function mostrarNum(){
        // Desde esta función accedemos a la variable de la función "miFuncion"
        alert(num);
    }
    return mostrarNum;
}
var llamarFunc = miFuncion();
llamarFunc();
Los Closures se refieren a la existencia de variables fuera de contexto normal de ejecución de una función. 
Los Closures, frecuentemente son creados por accidente y pueden causar problemas de pérdida de memoria en los navegadores web si no se manejan adecuadamente. 
 Sin embargo, los Closures son una de las más poderosas (y avanzados) áreas de JavaScript. 
En el ejemplo anterior decimos que "mostrarNum" es un Clousure, ya que tiene libre acceso a las variables del entorno donde fue creada.

Continuemos explicando que es un Clousure

Cunando hablamos de Clousure nos referimos generalmente a una expresión (típicamente una función) que pueden tener variables libres junto con un entorno que une esas variables.
La explicación simple de un Clousure es que el estándar de JavaScript permite que las funciones internas pueden hacer uso de las variables locales, declaraciones de parámetros y declaraciones de las funciones externas.

¿Cuando se forma un Clousure? 

Se forma un Clousure, cuando una de esas funciones internas se hace accesible fuera de la función en la que estaba contenida, de modo que puede ser ejecutada después de que la función externa ha vuelto. Momento en el que todavía tiene acceso a las variables locales, los parámetros y las declaraciones de las funciones internas de su función externa. 
Esas variables locales, declaraciones de parámetros y de función (inicialmente) tienen los valores que tenían cuando la función externa regresó y pueden interactuar con la función interna.

Desafortunadamente para la comprensión total de los Clousures, es necesario entender su mecanismo interno.
Por el momento no ahondaremos mas en el tema, ya que es necesario tener un basto conocimiento de objetos y nombres de objetos.

Para mayor información puede consultar el siguiente sitio en Ingles que le proporcionará una basta información sobre los Clousures. "http://jibbering.com/faq/notes/closures/#clClose"
Mas adelante incluiremos mayor información respecto al tema de los Clousures aquí en ScriptBC.

Si te hemos ayudado : )

Te agradeceríamos que apoyaras este proyecto



No se te olvide Comentar y Compartir
en:
                          

0 comentarios:

Publicar un comentario