В области программирования понимание областей видимости (Scopes) имеет решающее значение для разработки эффективного и чистого программного обеспечения. В JavaScript существует несколько типов областей видимости, особенно функциональные области видимости. В этом руководстве вы исследуете основы этой концепции и получите полезные примеры для лучшей иллюстрации.
Главные выводы
- Область видимости определяет, где переменные существуют в программе.
- Функциональные области видимости создают локальные переменные, которые недоступны вне функции.
- Глобальные переменные доступны везде в скрипте, что может приводить к потенциальным конфликтам имен.
- Период жизни переменных связан с их использованием внутри функций.
Пошаговое руководство
1. Простой пример области видимости
Чтобы понять функциональную область видимости, начнем с простой функции. Внутри этой функции вы объявляете локальную переменную. Она имеет действительность только внутри функции.
Здесь выполняется расчет, и результат отображается в HTML-документе. Выводом будет 25, если вы вызовете функцию.

2. Попытка доступа к локальным переменным
Если вы попытаетесь получить доступ к локальной переменной за пределами функции, вы столкнетесь с проблемами. Это означает, что вы не можете обращаться к переменной ergebnis извне функции.
Поскольку переменная ergebnis не существует, вы получите ошибку, если попытаетесь ее вызвать. Это важный признак области видимости переменных.

3. Создание глобальных переменных
Чтобы сделать переменную глобально доступной, вы можете объявить ее вне функции. Этот тип переменной доступен во всем скрипте.
function berechnung() { ergebnis = 5 * 5; // Изменяет глобальную переменную }
Здесь переменная ergebnis создается в глобальном пространстве имен. Когда вы теперь вызываете функцию, значение ergebnis устанавливается на 25, и вы также можете получить доступ к этому значению извне функции.

4. Разница между локальным и глобальным пространством имен
Ключевое различие заключается в том, где объявлены переменные. Локальные переменные, объявленные внутри функции, существуют только на время выполнения функции. Глобально объявленные переменные видимы для всего скрипта.
Если вы хотите изменить локальную переменную, которая существует в глобальном пространстве имен, вы должны убедиться, что доступ выполнен корректно.
5. Имплицительное объявление переменных
Важно отметить, что вы можете объявить переменную и без ключевого слова let или var. В этом случае переменная также становится глобальной.
Хотя это работает, это не рекомендуется, так как может сделать ваш код неясным и привести к неожиданным конфликтам.
6. Период жизни переменных
Период жизни переменной является еще одной важной концепцией. Локальные переменные существуют только, пока функция активна. После завершения функции локальная переменная удаляется.

7. Ясность через явное объявление
Чтобы сделать ваш скрипт более понятным, всегда следует явно объявлять переменные. Это поможет вам отслеживать, где и сколько переменных существует, и предотвратить появление нежелательных глобальных переменных.
8. Вывод о областях видимости
Области видимости в JavaScript являются фундаментальными для понимания того, как переменные действуют внутри функций. JavaScript различает локальные и глобальные пространства имен. Глубокое понимание этой концепции имеет решающее значение для чистого и эффективного программирования.
Резюме – Основы областей видимости в JavaScript
Понимание областей видимости в JavaScript имеет большое значение для эффективного программирования. Понимая разницу между локальными и глобальными переменными, вы можете создавать эффективные и поддерживаемые структуры кода.
Часто задаваемые вопросы
Что такое области видимости?Области видимости определяют, где переменные существуют в программе и какие права доступа у них есть.
В чем разница между локальными и глобальными переменными?Локальные переменные существуют только внутри функции, тогда как глобальные переменные доступны во всем скрипте.
Насколько долго существуют локальные переменные?Локальные переменные существуют только во время выполнения функции, в которой они объявлены.
Почему переменные следует явно объявлять?Явные объявления сохраняют код понятным и предотвращают появление нежелательных глобальных переменных.