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

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

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

В JavaScript, существует две области видимости: локальная и глобальная. Зависит от того, где объявлена переменная, внутри функции или вне функции.

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

Современная концепция программирования, рекомендует чтобы все переменные в скриптах (программах) были локальными, а сама программа состояла лишь из функций, где каждая функция выполняла бы только одну задачу. Например в другом языке web-программирования PHP, вообще отказались от использования глобальных переменных.

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

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

var russia;
russia = "Россия";

function getValueRussia() {
 alert(russia);
}

getValueRussia();

Здесь russia — это глобальная переменная, так как она объявлена вне функции. Чтобы доказать что переменная глобальная, мы обратились к ней изнутри пользовательской функции getValueRussia(), с помощью функции alert() которая вывела на экран значение переменной russia.

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

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

function getValueRussia() {
 var russia;
 russia = "Россия";
}
alert(russia);

В данном примере, ничего не произойдет (окошко с надписью «Россия», не появится), а если просмотреть скрипт через консоль, то он сообщит нам том что переменная russia — не определена (undefined), это означает что функция alert() (размещённая вне функции), не видит переменную russia, которую создали внутри функции.

function getValueRussia() {
 var russia;
 russia = "Россия";
 alert(russia);
}
getValueRussia();

Разместив функцию alert() внутри функции и затем вызвав функцию getValueRussia(), мы увидим окошко с надписью «Россия». Данные примеры показывают нам, что к локальным переменным можно обращаться только внутри функции, в которой они созданы.

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


Дата публикации поста: 3 апреля 2019
Дата обновления поста: 3 ноября 2014
Бесплатный хостинг от компании Бегет, для начинающих: beget.com/ru/hosting/free

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *