Citazione da Stoyan Stefanov di JavaScript Object-Oriented (pagina 84):Questa è una dichiarazione corretta per la chiusura?
Se siete a punto una, sei dentro lo spazio globale. Se ci si trova al punto b, che è all'interno dello spazio della funzione F, allora si ha accesso allo spazio globale e a lo spazio F. Se si è al punto c, che si trova all'interno della funzione N, è possibile accedere allo spazio globale, allo spazio F e allo spazio N Non è possibile raggiungere da a a b, perché b è invisibile all'esterno di F Ma puoi ottenere da c a b se vuoi, o da N a b. La interessante cosa-chiusura-accade quando qualche modo N scoppia di F e finisce fino nello spazio globale "
penso che la frase in grassetto di cui sopra dovrebbe essere cambiato in" Se sei al punto c , che si trova all'interno della funzione N, allora puoi accedere allo spazio globale e allo spazio N "(lo spazio F non dovrebbe essere contenuto, perché il punto c ha accesso solo allo spazio N e allo scopo globale G.) .
ho ragione? grazie.
Perché non dovresti accedere a F? N è all'interno di F. Penso che il disegno debba trasmettere che N è stato dichiarato all'interno di _ E _returned from_ function F. – jahroy
Non necessariamente "restituito da" @jahroy. Esistono altri meccanismi per creare un riferimento esterno a una funzione interna, ad esempio l'assegnazione diretta a un membro esterno o al suo allegato, come gestore di eventi, a un elemento DOM. –