Wpis z mikrobloga

@inteli: closure powstaje wtedy, gdy wewnątrz funkcji deklarujemy inną funkcję. Każdorazowe wywołanie funkcji zewnętrznej tworzy nową kopię funkcji wewnętrznej, która zachowuje swoją własną wersję scope chaina.

Twoja definicja jest prawie dobra, z tym ze a) nie trzeba jej zwracać b) słówko "wartości" zamieniłbym na "zmiennych lokalnych"
@megaloxantha:
Widocznie się nie zrozumieliśmy, chodziło mi o to, że każde wywołanie zewnętrznej funkcji tworzy osobną kopię zestawu zmiennych lokalnych dla zwracanej funkcji. Stąd słówko "preserved" bo te zestawy nie giną wraz z funkcją zewnętrzną.
@inteli: Wprawdzie JS zbyt wiele nie umiem ale według mnie to będzie: Closures jest wewnętrzną funkcją, która ma dostęp do zmiennych zewnętrznej funkcji. Są używane po to, żeby dostać się do zmiennych zewnętrznej funkcji zamiast używać zmiennych globalnych.