English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основы JavaScript

Объекты JavaScript

Функции JavaScript

HTML DOM JS

BOM браузера JS

Основы AJAX

JavaScript Референс Манифест

Область действия переменных JavaScript

Область действия переменной - это область программы, в которой она определена.

Переменные JavaScript имеют только два области действия:

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

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

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

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

Переменные, объявленные в функции, имеютLOCAL(локальная) область действия, что означает, что их нельзя вызывать или манипулировать снаружи этой функции.

// Здесь код не может использовать cityName
function myFunc() {
  var cityName = "New Delhi";
  
  // Здесь код может использовать cityName  
}
// Здесь код не может использовать cityName
Проверьте, посмотрите‹/›

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

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

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

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

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

// Инициализация глобальной переменной
var cityName = "New Delhi";
// Здесь код может использовать cityName
function myFunc() {  
  // Здесь код также может использовать cityName
}
// Здесь код может использовать cityName
Проверьте, посмотрите‹/›

Глобальные переменные можно访问 из любого места в JavaScript-программе.

В следующем примере мы создадим GLOBAL cityNameПеременные. Внутри функции есть локальная переменная с тем же именем.

// Инициализация глобальной переменной
var cityName = "New Delhi";
function myFunc() {
  // Инициализация локальных и переменных в области функции
  var cityName = "Jaipur";
  document.writeln(cityName);
}
// Вывод глобальных и локальных переменных
document.writeln(cityName);
myFunc();
document.writeln(cityName);
Проверьте, посмотрите‹/›

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

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

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

Этот пример будет объявлять глобальные переменныеcityNameи даже если вы назначили значение в функции.

myFunc();
// Здесь код может использовать cityName 
function myFunc() {
  cityName = "New Delhi";
}
Проверьте, посмотрите‹/›

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

Глобальные переменные могут перекрывать переменные окна.

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

Разница между var, let и const

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

Разница между ними основана на области, тени и повторном назначении.

Ключевые словаОбластьТеньМожет быть заново назначеноМожет быть заново объявлено
varОбласть действия функцииДаДаДа
letОбласть действия блокаНетДаНет
constОбласть действия блокаНетНетНет

Область действия блоков кода JavaScript

С помощьюvarПеременные, объявленные с помощью ключевых слов, не могут иметь областью действия блока.

{} переменные, объявленные внутри блока, могут быть доступны снаружи блока:

  { 
  var num = 50; 
  }
  // num может быть использован здесь

С помощьюletПеременные, объявленные с помощью ключевых слов, могут иметь "областью действия блока".

{} переменные, объявленные внутри блока, не могут быть доступными снаружи блока:

  { 
  let num = 50; 
  }
  // num не может быть использован здесь

Объявление переменных с помощью с constсletАналогично блоку областью действия.

  { 
  const num = 50; 
  }
  // num не может быть использован здесь

Значение констант не может быть изменено повторным назначением и не может быть заново объявлено.

Жизненный цикл переменной JavaScript

Жизненный цикл переменной JavaScript начинается с объявления.

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

Когда вы закрываете окно браузера,ГлобальныйПеременные будут удалены, но для новых страниц, загруженных в то же окно, они все еще будут доступны.