замыкания и утечки памяти
Где то читал, что замыкания вызывают утечки памяти. Смысл там вроде был такой. Если есть замыкание, и есть ссылка на это замыкание (а это любая функция с локальным скопом, a=function(){var a;} -- это уже замыкание), то изнутри этого замыкания будет виден, как минимум, весь глобал. Поэтому ничего не удалится никогда, поскольку замыканию нужны эти глобальные структуры.
В то же время, несмотря на пиар этих замыканий со стороны крокфорда и других дельцов, которые постоянно вещают нам о какой-то мифической выразительности и мощности замыканий, я, честно говоря, особого профита от их использования не вижу, помимо изоляции неймспейсов.
Иногда читаешь статейку Васи Пупкина, который грозится показать якобы "магию" с замыканиями, но вникнув, выясняешь, что это очередное кукареканье, а все что он показал -- банальщина.
Так, может быть отказаться от замыканий, объявить их Deprecated, а в следующей версии выпилить их из языка? Как вы считаете?
А кто не согласен, покажите мне пример, где они действительно рулят, делают код ясней, выразительней, и тп.
|