Questo è uno degli scopi di una chiusura: mantenere le informazioni private. Poiché la funzione è già stata eseguita, le sue variabili di ambito non sono più disponibili dall'esterno (e non sono mai state) - solo le funzioni eseguite nel suo ambito (ancora) hanno accesso.
Tuttavia è possibile fornire l'accesso tramite getter/setter.
Si potrebbe voler dare un'occhiata a Stuart Langridge's talk sulle chiusure. Molto raccomandabili sono anche le spiegazioni di Douglas Crockford. Si può fare un sacco di cose di fantasia con le chiusure;)
Edit: Sono disponibili diverse opzioni per esaminare la chiusura: Guarda l'oggetto nella console webdeveloper o (come lo faccio spesso) restituire un debug-funzione che discariche fuori tutte le variabili private alla console.
Esempio di codice per spiegare meglio il tuo problema esatto – Blaster
Il problema è teorico, non pratico: data una funzione, puoi elencare le proprietà della sua chiusura? –
'console.log (x(). Y); // 5'? – Blaster