Доброго времени суток, друзья. Сегодня расскажу о замыканиях (Closures)в языке JavaScript на показательных примерах. Начнем издалека. В арсенале Javascript присутствует понятие Scope (контекстов) - это зона видимости переменных в коде. Примером может служить функция с объявленной внутри переменной, к которой нельзя обратиться вне этой функции. Проведем параллель с файловой системой: существует папка с файлом, этот файл не виден вне папки, потому что у нее собственный scope. Замыкания. Создадим функцию createFunction. Внутри инициализируем переменную и еще одну функцию. Переменную назовем yourName со значением по умолчанию ("Victor"), а затем создадим вторую функцию с названием showYourName. function createFunction() {
const yourName = 'Victor';
function showYourName() {
alert(yourName);
};
return showYourName;
}; Здесь внешняя функция createFunction хранит переменную и возвращает внутреннюю функцию. Вторая (внутренняя) функция будет выводить предупреждение со значением you