In Javascript _non_ esistono namespace, quindi si usano le funzioni come contenitori. Si potrà osservare spesso dentro una funzione (usata come namespace) la definizione delle variabili globali e di altre funzioni annidate che vengono usate per restituire le precedenti variabili. Oppure, dentro una funzione, osservare la definizione di una funzione annidata che viene restituita dalla funzione contenitore.
L’ambito di visibilità (lexical scoping
Una closure è composta dall’insieme di
- un oggetto funzione
- reference a variabili
Le closure1. sono interessanti quando la funzione viene invocata all’esterno dello scope originale di definizione, in modo da farle portare dietro con sè tutte le variabili presenti nella definizione.
Come definire le funzioni all’interno di una closure?
Vedere articolo…
Definire le funzioni
- Javascript: the definitive guide, seventh edition, 978-1-491-95202-3, pag. 204 [↩]