Веб-программирование

Обучение программированию

Делаете первые шаги в программировании? Представляем вашему вниманию пошаговое обучение самостоятельного создания сайтов любой сложности на примерах! На страницах сайта KobRU вы найдете все самое необходимое, для того чтобы по праву считаться веб-мастером по созданию привлекательных динамически изменяемых интернет-страниц, используя основные инструменты веб-разработчиков: HTML; CSS; PHP; MySQL; JAVASCRIPT и другие. Сайт KobRU - наиболее полное и качественно структурированное руководство с предельно понятными пояснениями и поэтапным изложением материала, который поможет вам в совершенстве овладеть искусством программирования. Добавьте динамики и интерактивность в свои веб-проекты!

Вход в личный кабинет

Забыли пароль?

Не зарегистрированны?


Конструкторское Web-бюро
7.2 Область видимости переменных

Автор: Denisido

Дата: 2010-07-05

При работе с пользовательскими функциями, во избежании конфликта переменных важно учитывать область их видимости. Если вы программируете код внутри функции и определяете в ней некую переменную, то такая переменная будет видна только внутри этой функции. Как правило, такую переменную называют локальной. Та переменная, которая расположена в основной программе - глобальная. Давайте попробуем создать две одинаковые переменные, но по разные стороны баррикад:

Запустить!
var a = 'переменная СНАРУЖИ!'; // создаем глобальную переменную a ========//
                                                                          //
function hey(a) {                      ////----//                         //
alert(a); // выводим локальную переменную а    //                         //
};                                             //                         //
hey('переменная ВНУТРИ! (локальная)'); ////----//                         //
                                                                          //
alert(a);                      // выводим глобальную переменную a ========// 

Как вы можете наблюдать, наши переменные под одним именем a могут мирно существовать бок о бок, так как располагаются в разных местах. Переменная a в качестве параметра пользовательской функции находится как-будто за стеной и не видна за пределами этой функции. Рассмотрим следующий пример:

Запустить!
function wow(score) { // в качестве параметра ф-ции wow сохраняем переменную score
score++;              // увеличиваем переменную на единицу
alert(score); // пишем команду на вывод в модальном окне значение переменной
};
var num = 1; // создаем переменную num вне области видимости ф-ции, равную значению 1
wow(num);    // сперва выводим нашу функцию (выведет 2)
alert(num);  // затем значение глобальной переменной (выведет 1)

В нашем примере переменная num осталась без изменения, так как в функцию мы передали только ее значение. Эквивалентная запись - wow(1);.

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

Запустить!
var b = 'Переменная за пределами функции'; // создаем глобальную переменную b
function someName() {         // пишем функцию с произвольным именем someName
var b = 'Переменная внутри функции'; // создаем лок-ную переменную с ключ. словом var
alert(b);    // показываем содержание локальной переменной b в модальном окне

};
someName(b); // выводим нашу функцию с параметром переменной b
alert(b);    // выводим глобальную переменную b в модальном окне

В нашем примере мы создаем глобальную переменную b за пределами функции. После пишем нашу пользовательскую функцию, где внутри фигурных скобок создаем локальную переменную с тем же названием b (см. строку 3). Здесь важно отметить, что мы использовали ключевое слово var. В противном случае у нас бы произошел конфликт переменных, и наша переменная переписала бы старое значение на новое:

Запустить!
var b = 'Переменная за пределами функции'; // создаем глобальную переменную b
function someName() {         // пишем функцию с произвольным именем someName
b = 'Переменная внутри функции'; // локальная переменная без ключевого слова var
alert(b);   // показываем содержание локальной переменной b в модальном окне
};
someName(b); // выводим нашу функцию с параметром переменной b
alert(b);    // выводим глобальную переменную b в модальном окне (с новым значением)



Оцените материал по 5-ти бальной шкале: 1 2 3 4 5



Коментарии:

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

Текст коментария:

Введите результат с картинки

Просмотров: 10064

Метки раздела JavaScript

Основы web программирования, var javascript, javascript функции, javascript обучение, javascript простые примеры, html javascript, javascript примеры, javascript random, уроки сайтостроения, java script, регулярные выражения, appendchild javascript, javascript бесплатно, javascript document write, javascript справочник, javascript примеры.