Зачем нужно замыкание и что это такое? Всем привет!
В прошлом посте мы разбирались с вами с различными формами функций. Но а сегодня, мы уже поговорим про менее очевидные концепты. Сегодня речь пойдет о замыканиях, мы расскажем вам, что это такое и для чего это дело нужно. Ну и ,конечно, мы не забыли добавить еще и пример. И так берите какой-нибудь весенний напиток и проанализируйте наш материал. И так поехали разбираться в этой абстрактной штуковине:
В JavaScript замыкание — это функция, позволяющая другой функции обращаться к ее ресурсам в ее области видимости даже после возврата внешней функции. Это означает, что функция может «запоминать» состояние своей среды при ее создании и продолжать использовать это состояние, даже если она выполняется в другой области кода.
Замыкание создается, когда функция определена внутри другой функции, а внутренняя функция ссылается на переменные из области видимости внешней функции. Внутренняя функция может обращаться к этим переменным и манипулировать ими, а переменные внешней функции могут использоваться как данные для внутренней функции.
Рассмотрим такой пример:
function outerFunction() {
var outerVariable = "Я нахожусь во внешней функции :)";
function innerFunction() {
console.log(outerVariable);
}
return innerFunction;
}
var innerFunc = outerFunction();
innerFunc(); // Вывод: "Я нахожусь во внешней функции :)"
Продолжение в посте ниже