mecanismo de análisis js y análisis de cierre
Con el desarrollo continuo de Internet, los programadores han aprendido más sobre la programación y el desarrollo de JavaScript. Hoy analizaremos brevemente algunos problemas comunes sobre el mecanismo de análisis y los cierres de la programación de JavaScript.
Mecanismo de análisis de JS:
El siguiente objeto de entorno léxico (almacén) se creará antes del análisis del código js: LexicalEnvironment{}
Al escanear el código js, Pondrá:
1. El nombre de la función creada por la declaración
2. Guarde el nombre de la variable definida con var en este entorno léxico; >3. Cuando se utiliza el mismo nombre: la declaración de función sobrescribirá la variable y la siguiente declaración de función sobrescribirá la función anterior con el mismo nombre;
4. referencia a la función; el valor de la variable no está definido;
5. Si crea una función usando una expresión de función:
varfn=function(){}De esta manera, un nombre de variable fn se almacena en el entorno léxico y se le asigna el valor indefinido;
Al llamar a una función, si la llama en la función, aparecerá la misma situación que la variable y aparecerá el error indefinido. ser reportado;
Esta es también la diferencia entre crear funciones de dos maneras diferentes;
p>
Cierre:
Definición: (Hay muchos definiciones)
1. (definición más popular): funciones funciones anidadas, las funciones internas pueden hacer referencia a funciones externas Parámetros y variables, estos parámetros y variables no serán reciclados por el mecanismo de recolección de basura;
2. En informática, cierre es la abreviatura de cierre léxico, que es una función que hace referencia a variables libres. Esta variable libre referenciada existirá con esta función incluso si ha abandonado el entorno en el que fue creada (es decir,). no será destruido).
3. El cierre es una entidad compuesta por una función y su entorno de referencia relacionado. (El subtexto es que esta función existirá al mismo tiempo que el entorno de referencia, y debe haber una referencia)
En resumen, no importa cómo se defina, gira en torno a dos esencias: la La función hace referencia a una variable y esta variable no se destruirá.
Una de las funciones de los cierres es que podemos acceder a las variables de una función interna desde el exterior a través del método de cierre;
Muchas personas usarán el subtítulo al explicar los cierres. la función return se llama externamente, de hecho, no importa dónde se llame, el cierre ya se ha formado, siempre que la función sea una función anidada y la función secundaria se refiera a la variable de la función principal (independientemente de si). la función secundaria se llama o no, cree Computer Training. Esto se prueba de una manera: rompa el punto dentro de la subfunción y observe el contenido del cierre en f12. La función de referencia ha aparecido y la llamada aún no se ha ejecutado. .) En este momento se ha formado el cierre.