JavaScript Область
Область видимости определяет доступность (видимость) переменных.
Область действия функции JavaScript
В JavaScript есть два типа области видимости:
- Локальный охват
- Глобальный охват
JavaScript имеет область действия: каждая функция создает новую область видимости.
Область действия определяет доступность (видимость) этих переменных.
Переменные, определенные внутри функции, недоступны (видимы) снаружи функции.
Локальные переменные JavaScript
Переменные, объявленные в функции JavaScript, становятся ЛОКАЛЬНЫМИ для функции.
Локальные переменные имеют область действия: к ним можно получить доступ только из функции.
Пример
// code here can NOT use carName
function myFunction() {
var carName = "Volvo";
// code here CAN use carName
}
Попробуйте сами »
Поскольку локальные переменные распознаются только внутри своих функций, переменные с одинаковыми именами могут использоваться в разных функциях.
Локальные переменные создаются при запуске функции и удаляются, когда функция завершается.
Глобальные переменные JavaScript
Переменная, объявленная вне функции, становится ГЛОБАЛЬНОЙ.
Глобальная переменная имеет глобальную область действия: все сценарии и функции на веб-странице могут получить к ней доступ.
Пример
var carName = "Volvo";
// code here can use carName
function myFunction() {
// code here can also use carName
}
Попробуйте сами »
Переменные JavaScript
В JavaScript объекты и функции также являются переменными.
Область видимости определяет доступность переменных, объектов и функций из разных частей кода.
Автоматически глобальный
Если вы присвоите значение переменной, которая не была объявлена, она автоматически станет ГЛОБАЛЬНОЙ переменной.
В этом примере кода будет объявлена глобальная переменная carName,
даже если значение присвоено внутри функции.
Пример
myFunction();
// code here can use carName
function myFunction() {
carName = "Volvo";
}
Попробуйте сами »
Строгий режим
Все современные браузеры поддерживают выполнение JavaScript в "строгом режиме".
Вы узнаете больше о том, как использовать строгий режим в следующей главе этого руководства.
В "строгом режиме" необъявленные переменные не становятся глобальными автоматически.
Глобальные переменные в HTML
В JavaScript глобальная область видимости - это полная среда JavaScript.
В HTML глобальной областью видимости является объект окна. Все глобальные переменные принадлежат объекту окна.
Предупреждение
НЕ создавайте глобальные переменные, если вы этого не собираетесь.
Ваши глобальные переменные (или функции) могут перезаписывать переменные окна (или функции).
Любая функция, включая объект окна, может перезаписать ваши глобальные переменные и функции.
Время жизни переменных JavaScript
Время жизни переменной JavaScript начинается с момента ее объявления.
Локальные переменные удаляются по завершении функции.
В веб браузере глобальные переменные удаляются при закрытии окна (или вкладки) браузера.
Аргументы функции
Аргументы (параметры) функции работают как локальные переменные внутри функций.
