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


Рассмотрим понятие области видимости переменных.

Для ясности будем оперировать понятиями "код функции" и "вызывающий код". Код функции располагается в теле функции, а вызывающий код - вне функции.

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

// global code
var a = "I am global";

function myFunc() {
// function code
var b = "I am local";
}

// global code
myFunc();
alert(a); // ok - we can see variable a
alert(b); // error - b is not defined there, we can't see it


Из этого примера видно, что мы не сможем получить доступ к локальным переменным.
В свою очередь, данные локальных переменных можно извлечь из функции при помощи ключевого слова return.

С другой стороны, мы можем получить доступ к глобальным переменным из кода функции. Это означает, что переменные их глобальной области видимости доступны в локальной области видимости. Если же в коде функции определить переменную с именем, которое уже принадлежит глобальной переменной, то она будет использована в контексте локальной: