03.iii Function Closure
Функция в момент своего определения сохраняет ссылку на внешнее пространство имен в котором объявлена (На самом деле на всю цепочку внешних пространств, если их больше одного). Переменные, определенные во внешней области видимости будут доступны для использования внутри функции.
Такая комбинация объекта функции и внешнего пространства имен (где находятся внешние переменные используемые функцией) называется замыканием. Замыкание означает, что функция всегда сохраняет связь с внешней областью видимости неважно где и когда она вызывается..
Особую популярность этот прием получил когда одна функция порождает другую. В этом случая возвращаемая функция замкнет у себя и пространство имен внешней функции и глобальное пространство имен:
Last updated
Was this helpful?