Выбор ответа Junior Области видимости и замыкания спрашивают часто обновлено
Что такое замыкание
Вопрос
Какое определение замыкания верное?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Функция вместе с окружением, где создана: его переменные ей видны и потом. Замыкание это связка функции и ссылки на окружение, где она создана.
Варианты ответа
- Функция, которая вызывает сама себя до выполнения базового условия
- Функция вместе с окружением, где создана: его переменные ей видны и потомправильный ответ
- Функция, объявленная внутри другой функции и вызванная там же сразу
- Копия значений внешних переменных, которую функция сохраняет при создании
Разбор
Замыкание это связка функции и ссылки на окружение, где она создана. Поэтому функция, возвращённая из другой функции, продолжает читать и менять её переменные. Функция, вызывающая сама себя, это рекурсия. Вложенность сама по себе замыкание не описывает: суть в том, что окружение переживает вызов внешней функции. И это не копия значений: замыкание хранит ссылку на переменные и видит их последующие изменения.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.