ЛУЧШИЙ САЙТ ДЛЯ ВЕБ-РАЗРАБОТЧИКОВ

JS Учебник

JS Старт JS Введение JS Установка JS Вывод JS Объявления JS Синтаксис JS Комментарии JS Переменные JS Операторы JS Арифметические JS Присваивание JS Типы данных JS Функции JS Объекты JS События JS Строки JS Методы строки JS Числа JS Методы числа JS Массивы JS Методы массива JS Сортировка массива JS Итерация массива JS Даты JS Форматы дат JS Методы получения дат JS Методы установки дат JS Математические JS Рандомные JS Булевы JS Сравнения JS Условия JS Switch JS Цикл For JS Цикл While JS Прерывание JS Преобразование типов JS Побитовые JS Регулярные выражения JS Ошибки JS Область действия JS Подъём JS Строгий режим JS Ключевое слово this JS Ключевое слово Let JS Ключевое слово Const JS Функции стрелок JS Классы JS Отладка JS Гид по стилю JS Лучшие практики JS Ошибки JS Производительность JS Зарезервированные слова JS Версии JS Версия ES5 JS Версия ES6 JS JSON

JS Формы

JS Формы Формы API

JS Объекты

Определения объектов Свойства объекта Методы объекта Доступ к объектам Конструкторы объектов Прототипы объектов Объект ECMAScript 5

JS Функции

Определения функций Параметры функции Обращение к функции Вызов функции Применение функции Закрытие функции

JS HTML DOM

DOM Введение DOM Методы DOM Документ DOM Элементы DOM HTML DOM CSS DOM Анимация DOM События DOM Слушатель событий DOM Навигация DOM Узлы DOM Коллекции DOM Узловые списки

JS Объектная модель браузера BOM

JS Окно JS Скрин JS Локация JS История JS Навигатор JS Всплывающее оповещение JS Тайминг JS Куки

JS AJAX

AJAX Введение AJAX XMLHttp AJAX Запрос AJAX Отклик AJAX XML Файл AJAX PHP AJAX ASP AJAX База данных AJAX Приложения AJAX Примеры

JS JSON

JSON Введение JSON Синтаксис JSON и XML JSON Типы данных JSON Анализ JSON Stringify JSON Объекты JSON Массивы JSON PHP JSON HTML JSON JSONP

JS и jQuery

jQuery Селекторы jQuery HTML jQuery CSS jQuery DOM

JS Примеры

JS Примеры JS HTML DOM JS HTML Input JS HTML Объекты JS HTML События JS Броузер JS Упражнения JS Викторина JS Сертификат

JS Справочники

JavaScript Объекты HTML DOM Объекты

JavaScript. Уроки для начинающих

JavaScript Область действия (сфера)


Область действия определяет доступность (видимость) переменных.


JavaScript Область действия функций

В JavaScript есть два типа области действия:

  • Локальная область действия
  • Глобальная область действия

JavaScript имеет область действия функции: каждая функция создает новую область действия.

Область действия определяет доступность (видимость) этих переменных.

Переменные, определенные внутри функции, не доступны (не видны) снаружи функции.


Локальные переменные JavaScript

Переменные, объявленные в функции JavaScript, становятся LOCAL (локальными) для функции.

Локальные переменные имеют область действия функции: доступ к ним можно получить только из функции.

Пример

// код здесь НЕ МОЖЕТ использовать carName

function myFunction() {
  var carName = "Volvo";

  // код здесь МОЖЕТ использовать carName

}
Попробуйте сами »

Поскольку локальные переменные распознаются только внутри их функций, переменные с одинаковым именем могут использоваться в разных функциях.

Локальные переменные создаются при запуске функции и удаляются по завершении функции.


Глобальные переменные JavaScript

Переменная, объявленная вне функции, становится GLOBAL (глобальной).

Глобальная переменная имеет глобальную область: все скрипты и функции на веб-странице могут получить к ней доступ.

Пример

var carName = "Volvo";

// код, в котором можно использовать carName

function myFunction() {

  // код, в котором также можно использовать carName

}
Попробуйте сами »

JavaScript Переменные

В JavaScript объекты и функции также являются переменными.

Область действия определяет доступность переменных, объектов и функций из разных частей кода.


Автоматически Глобальная

Если вы присвоите значение переменной, которая не была объявлена, она автоматически станет переменной GLOBAL.

В этом примере кода будет объявлена глобальная переменная carName, даже если значение назначено внутри функции.

Пример

myFunction();

// код, в котором можно использовать carName

function myFunction() {
  carName = "Volvo";
}
Попробуйте сами »

Строгий режим

Все современные браузеры поддерживают запуск JavaScript в "Strict Mode" ("строгом режиме").

Вы узнаете больше о том, как использовать строгий режим, в следующей главе этого учебника.

В "строгом режиме" необъявленные переменные не являются автоматически глобальными.


Глобальные переменные в HTML

С JavaScript глобальная область действия - это полная среда JavaScript.

В HTML глобальной областью является объект окна. Все глобальные переменные принадлежат объекту окна.

Пример

var carName = "Volvo";

// код, в котором можно использовать window.carName
Попробуйте сами »

Предупреждение

НЕ создавайте глобальные переменные, если вы не собираетесь их использовать.

Глобальные переменные (или функции) могут перезаписывать оконные переменные (или функции).
Любая функция, включая объект окна, может перезаписывать глобальные переменные и функции.


Время жизни переменных JavaScript

Время жизни переменной JavaScript начинается с момента ее объявления.

Локальные переменные удаляются после завершения функции.

В веб-браузере глобальные переменные удаляются при закрытии окна браузера (или вкладки).


Аргументы функции

Аргументы функции (параметры) работают как локальные переменные внутри функций.