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