Pytanie do Wykopowych programistów Javascript: muszę się upewnić co do closures (domknięć, jak zwał tak zwał). Skoro każda wywołana funkcja ma dostęp do kontekstu w którym została wywołana (czyli jakby do stack frame'a), to czy to czasem nie oznacza, że każdorazowe wywołanie dowolnej funkcji powoduje bezpowrotną utratę pamięci (oczywiście do czasu odświeżenia strony)? No bo przecież gdzieś ten kontekst trzeba trzymać, prawda? #programowanie #informatyka #javascript
@tell_me_more: Rzeczywiście. Więc jedynym posobem na pozbycie się nieużywanych zmiennych lokalnych, gdzie tworzone jest domknięcie, jest przypisanie do nich undefined. Dzięki za info.
Miałeś chyba na myśli, że domknięcie zawiera referencje do zmiennych z nadrzędnego zasięgu, które są używane w tworzonej funkcji.
Gdyby domknięcie zawierało wszystkie zmienne z zasięgu nadrzędnej funkcji byłoby to spore marnotrawstwo. Przynajmniej ja to tak widzę :P