Замыкание
Sign in to saveAlso known as lexical closure, function closure
technique for creating lexically scoped first class functions
Wikidata facts
Show 1 more fact
- Stack Exchange tag
- stackoverflow.com/tags/closures
Sources (2)
via Wikidata · CC0
Article · Русский
Замыкание (англ. closure) в программировании — функция первого класса, в теле которой присутствуют ссылки на переменные, объявленные вне тела этой функции в окружающем коде и не являющиеся её параметрами. Говоря другим языком, замыкание — функция, которая ссылается на в своей области видимости. Замыкание, так же как и экземпляр объекта, есть способ представления функциональности и данных, связанных и упакованных вместе. Замыкание — это особый вид функции. Она определена в теле другой функции и создаётся каждый раз во время её выполнения. Синтаксически это выглядит как функция, находящаяся целиком в теле другой функции. При этом вложенная внутренняя функция содержит ссылки на локальные переменные внешней функции. Каждый раз при выполнении внешней функции происходит создание нового экземпляра внутренней функции, с новыми ссылками на переменные внешней функции. В случае замыкания ссылки на переменные внешней функции действительны внутри вложенной функции до тех пор, пока работает , даже если внешняя функция закончила работу, и переменные вышли из области видимости. Замыкание связывает код функции с её лексическим окружением (местом, в котором она определена в коде). Лексические переменные замыкания отличаются от глобальных переменных тем, что они не занимают глобальное пространство имён. От переменных в объектах они отличаются тем, что привязаны к функциям, а не объектам.
Abstract from DBpedia / Wikipedia · CC BY-SA