Presupuesto de JavaScript orientado a objetos de Stoyan Stefanov (página 84):¿Es esta una declaración correcta para Closure?
Si estás en el punto a, que estás dentro del espacio global. Si se encuentra en el punto b, que es dentro del espacio de la función F, entonces tiene acceso al espacio global y al el espacio-F. Si se encuentra en el punto c, que está dentro de la función N, puede acceder al espacio global , el espacio F y el espacio N No puede alcanzar de aa b, porque b es invisible fuera de F Pero puede obtener de c a b si lo desea, o de N a b. El interesante cosa: el cierre ocurre cuando alguna manera-N escapa de F y termina en el espacio global. "
creo que la frase en negrita anterior debe ser cambiado a" Si estás en el punto c , que está dentro de la función N, entonces puede acceder al espacio global y al N-espacio "(el espacio-F no debe estar contenido, porque el punto c solo tiene acceso al espacio-N y al ámbito global G.) .
Estoy en lo cierto? gracias.
¿Por qué no tendrías N acceso a F? N está dentro de F. Creo que se supone que el dibujo indica que N se declaró dentro y devuelto de la función F. – jahroy
No necesariamente "devuelto desde" @jahroy. Existen otros mecanismos para crear una referencia externa a una función interna, por ejemplo su asignación directa a un miembro externo o sus archivos adjuntos, como un controlador de eventos, a un elemento DOM. –