Лексическое окружение понятно, а как понять замыкания в JS. Какую функцию она выполняет. Можете в простом примере простыми словами объяснить. Почти все видео-уроки бесполезны. В нижеприведенном коде замыкания какую функцию выполняет?
function person() {
let name = 'Peter';
return function displayName() {
console.log(name);
};
}
let peter = person();
peter(); // 'Peter'
Замыкание - это возможность внутри функции обращаться к переменным, объявленным не в самой функции, а в одном из содержащих её блоков.
Ещё замыканием можно назвать всё множество таких переменных.
В твоём примере переменная name
доступна через замыкание.
Замыкание – это функция вместе со всеми внешними переменными, которые ей доступны. То есть, замыкание – это функция + внешние переменные. Тем не менее, в JavaScript есть небольшая терминологическая особенность. Обычно, говоря «замыкание функции», подразумевают не саму эту функцию, а именно внешние переменные. Иногда говорят «переменная берётся из замыкания». Это означает – из внешнего объекта переменных. (источник: https://learn.javascript.ru/closures)
Способ, с помощью которого я навсегда запомнил замыкания — это сравнение их с рюкзаком. Когда функция создана и передаётся куда-либо, или возвращается из другой функции, то она носит с собой рюкзак. А в этом рюкзаке хранятся все переменные, которые были в области видимости во время создания этой функции. (Источник: https://medium.com/nuances-of-programming/я-никогда-не-понимал-замыкания-в-javascript-часть-первая-3c3f02041970 )
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
сразу же извиняюсь, если ошибка была глупойЕсть изображение, при нажатии на него, див с ид фильтр должен становиться блочным
Допустим, есть такой код:
разворачиваю проект на VDS сервереОтладчик выдал ошибку скрипте jquery: SyntaxError: ',:x' is not a valid selector*