Как стать автором
Обновить

Комментарии 11

НЛО прилетело и опубликовало эту надпись здесь
Ни одна из этих трех статей не раскрывает тему внутренней реализации достаточно глубоко.

Большинство статей по запросу «замыкания javascript» объясняет как работают замыкания с точки зрения «пользователя» (программиста), то есть просто даются утверждения о механике, но не объясняется почему это именно так работает в JS. Конечно, чаще всего и нет такой цели, так что все ок.
Крутой материал, спасибо!
Ничего себе, freetonik перевел мою статью. Спасибо!
Извините уж, ребята, что сам не добрался.
Есть одна смысловая неточность в переводе:

С момента, когда функция возвращает значение, больше никто не обращается к его scope-объекту, поэтому его собирает сборщик мусора. Но что если определить вложенную функцию, вызвать ее и дождаться возвращения?

Выделенный курсивом текст — это не то, что я имел в виду: But what if we define nested function and return it (or store somewhere outside)?

Т.е. я имел в виду следующее:

Но что если определить вложенную функцию и вернуть ее (или сохранить где-то вне текущего scope-объекта)?
Спасибо, Дмитрий, поправил!
И спасибо за клевую статью!
В своё время, с пониманием как работают замыкания под капотом, очень помог труд Nicholas C. Zakas JavaScript for Web Developers.
Огромное спасибо Дмитрию за статью и Рахиму за перевод. На мой взгляд, замыкания — одна из самых сложных тем для начинающих разработчиков JS. Когда обычно встречаешь рассказ о замыканиях, там не объясняется, почему они работают так, а не иначе, из-за этого сложно себе всё уяснить. Статья раскладывает всё аккуратно по полочкам.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий