offline version v3
Запись на курсы по HTML, CSS, JavaScript, PHP, фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
⊗jsPmClInr 260 of 503 menu

Замыкания в JavaScript

Давайте теперь изучим понятие замыкание (англ. closure). На самом деле вы уже знакомы с этим понятием, осталось только узнать правильную терминологию.

Итак, замыкание - это функция вместе со всеми внешними переменными, которые ей доступны. Или, другими словами, замыкание - это функция вместе со своим лексическим окружением.

В JavaScript чаще всего, говоря "замыкание функции", имеют ввиду не саму эту функцию, а именно ее внешние переменные. Если же какая-то функция получает переменную из своего лексического окружения, то говорят "переменная берется из замыкания".

Вспомним код, который мы сделали в предыдущем уроке:

function test() { let num = 1; return function() { console.log(num); } } let func = test(); func(); // выведет 1

В данном случае и можно сказать, что функция func получает значение переменной num из замыкания. Также можно сказать, что функция func хранит значение переменной num в замыкании.

enru