Кстати, это часть огромной коллекции заметок и карточек под названием CodingNotes. Проверьте это здесь https://www.codingnotes.io/.
Сегодня CodingNotes также участвует в Product Hunt, поэтому проголосуйте за CodingNotes — заметки и карточки для различных языков программирования (producthunt.com).
Глобальные переменные можно сделать локальными с помощью замыканий.
Локальные и глобальные переменные
- глобальные переменные определяются вне функций, они принадлежат странице и могут использоваться и изменяться всеми остальными объектами на странице.
- локальные переменные определяются внутри функций, они принадлежат функции и могут использоваться и изменяться только внутри функции, они скрыты от других вещей
- у вас может быть одно и то же имя переменной для локальной и глобальной переменных, они все равно разные переменные и работают независимо
- переменные, созданные без ключевого слова объявления (var, let, const), всегда являются глобальными (даже если они созданы внутри функции)
- глобальные переменные живут до тех пор, пока страница не будет удалена, например. при переходе на другую страницу или закрытии окна
- локальные переменные создаются при вызове функции и удаляются после ее завершения
Закрытие
Закрытие — это функция, имеющая доступ к родительской области даже после закрытия родительской функции.
Полный пример
const increment = (function () { let changer = 0; return function () {changer += 2; return changer} })();
increment() increment() //4 as Output
increment
становится функцией, потому что самовызывающаяся функция возвращает функциональное выражение- →
increment
теперь может получить доступ кcounter
в родительской области, что означает, что толькоincrement
может изменить функцию (это закрытие)
Зачем использовать замыкания?
Замыкание позволяет функции иметь закрытые переменные, доступ к которым возможен только из единственного выражения.
Надеюсь, вы чему-то научились!