САМОСТОЯТЕЛЬНОЕ ОБУЧЕНИЕ ДЛЯ ВЕБ РАЗРАБОТЧИКОВ
×

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 Заявления if...else JS Заявление switch JS Цикл for JS Цикл while JS Заявление break... JS Преобразование... JS Битовые... JS Регулярные выражения JS Ошибки JS Область JS Подъемный JS Строгий JS Ключевое слово this JS Ключевое слово let JS Константы JS Функция стрелки JS Классы JS Отладчик JS Руководство стиля JS Практика JS Распространенные ошибки JS Эффективность JS Зарезервированные слова JS Версии JS Версия ES5 JS Версия ES6 JS Версия 2016 JS Версия 2017 JS JSON

JS Формы

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

JS Объекты

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

JS Функции

Определение функции Параметры функции Вызов функции Вызвать функцию Применение функции Закрытие функции

JS Прочее

Классы введение Наследование класса Статические методы... JS Обратный вызов JS Асинхронный JS Обещания JS Асинхронный синтаксис

JS HTML DOM

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

JS Браузера BOM

JS Window JS Экран JS Расположение JS История JS Навигатор JS Предупреждение JS Синхронизация JS Cookies

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 Строки JSON Объекты JSON Массивы JSON PHP JSON HTML JSON JSONP

JS Веб API

API - Введение API - История API - Хранилище API - Работник API - Извлечь файл API - Геолокации

JS или jQuery

jQuery HTML Селекторы jQuery HTML Элементы jQuery CSS Стили jQuery HTML DOM

JS Примеры

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

JS Справочник

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


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 глобальной областью видимости является объект окна. Все глобальные переменные принадлежат объекту окна.

Пример

var carName = "Volvo";

// code here can use window.carName
Попробуйте сами »

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

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

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


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

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

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

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


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

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