Comments 11
UFO just landed and posted this here
Ни одна из этих трех статей не раскрывает тему внутренней реализации достаточно глубоко.
Большинство статей по запросу «замыкания javascript» объясняет как работают замыкания с точки зрения «пользователя» (программиста), то есть просто даются утверждения о механике, но не объясняется почему это именно так работает в JS. Конечно, чаще всего и нет такой цели, так что все ок.
Большинство статей по запросу «замыкания javascript» объясняет как работают замыкания с точки зрения «пользователя» (программиста), то есть просто даются утверждения о механике, но не объясняется почему это именно так работает в JS. Конечно, чаще всего и нет такой цели, так что все ок.
Вот тут github.com/getify/You-Dont-Know-JS/tree/master/scope%20%26%20closures про внутренности более подробно написано.
Если пройти туториал make-a-lisp, то имплементация замыканий будет очевидной :)
Ничего себе, freetonik перевел мою статью. Спасибо!
Извините уж, ребята, что сам не добрался.
Извините уж, ребята, что сам не добрался.
Есть одна смысловая неточность в переводе:
Выделенный курсивом текст — это не то, что я имел в виду: But what if we define nested function and return it (or store somewhere outside)?
Т.е. я имел в виду следующее:
С момента, когда функция возвращает значение, больше никто не обращается к его scope-объекту, поэтому его собирает сборщик мусора. Но что если определить вложенную функцию, вызвать ее и дождаться возвращения?
Выделенный курсивом текст — это не то, что я имел в виду: But what if we define nested function and return it (or store somewhere outside)?
Т.е. я имел в виду следующее:
Но что если определить вложенную функцию и вернуть ее (или сохранить где-то вне текущего scope-объекта)?
Есть статья о ядре JavaScript, в которой так же очень подробно описываются замыкания и многое другое:
http://dmitrysoshnikov.com/ecmascript/ru-javascript-the-core/.
http://dmitrysoshnikov.com/ecmascript/ru-javascript-the-core/.
В своё время, с пониманием как работают замыкания под капотом, очень помог труд Nicholas C. Zakas JavaScript for Web Developers.
Огромное спасибо Дмитрию за статью и Рахиму за перевод. На мой взгляд, замыкания — одна из самых сложных тем для начинающих разработчиков JS. Когда обычно встречаешь рассказ о замыканиях, там не объясняется, почему они работают так, а не иначе, из-за этого сложно себе всё уяснить. Статья раскладывает всё аккуратно по полочкам.
Sign up to leave a comment.
Как работают замыкания (под капотом) в JavaScript