Гостевая
Форум
Разделы
Главная страница
Js скрипты
Php скрипты
Html шаблоны
Книги по Web дизайну
Статьи


Главная страница статей --> Советы по фотошопу, графике и хитрости в построении php кода

Javascript Global Varibles - локальные и глобальные переменные в javascript

Источник: realcoding.net

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


Что есть глобальные переменные: переменные "видимые" в любой точке выполнения программы, везде из можно прочитать и перезаписать.
Обычно глобальные переменные определяются в самом начале программы, вне всяких блоков ({})
в случае Js, они задаются после script, или все всяких функций

hello = Hello; //задаем глобальную переменную и проверяем ее
document.writeln(->1 + hello + every one
);//->1 Hello every one


if(true)
//if(false)
   
{
    var
hello = Hello Dolly and ; //это тоже глобальная
   
world = world; //глобальная
   
var cont = , we continue //глобальная
   
document.writeln(->1.2 + hello + world + cont+
);
   
//1.2 Hello Dolly and world, we continue
   
}
document.writeln(->2 + hello + world + cont+
);
//->2 Hello Dolly and world, we continue

при условии true мы получаем ответ

->1 Hello every one
->1.2 Hello Dolly and world, we continue
->2 Hello Dolly and world, we continue

выполнение обрывается

Таким образом, получается, что на глобальную область использование var никак не влияет. Переменная, упомянутая в script вне процедур считается глобальной даже, если она заключения в скобочки {} блока if while for и других области останется глобальной даже внутри циклов

Выводы, кратко

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


  • для переменных используемых в зоне глобальной видимости не важно наличие var.
  • Блоки после if while for не создают локальной зоны видимости, (как это происходит в других языках)

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

boy = Jhone;
did = kills Kenny; //итак мы имеем 2 глобальных переменных
function doit()
    {
   
//уже прошла печать --1, и мы меняем данные меняем данные
   
var boy = Gary; //создаем локаль
   
did = helps Anny; //изменяем глобаль
   
;
   
document.writeln(--2 + boy + + did +
);
   
//--2 Gary helps Anny
   
;
   
//теперь внутри функции зададим локальную и глобальные переменные
   
var good = he was a good boy
;//локаль!
   
bad = he likes a bad girls
;//глобаль
   
}
;
document.writeln(--1 + boy + + did +
);
//--1 Jhone kills Kenny
doit();
//--2 Gary helps Anny
document.writeln(--3 + boy + + did +
);   
//--3 Jhone helps Anny
;
if(!
true)
//if(!false)
   
{
   
document.writeln(--4 + good);   
   
//выполнение этого блока вызовет ошибку.
    //мы сейчас находимся вне локальной области видимости
    //функции doit(), поэтому для нас заданной через var
    //переменной good просто не существует
   
}
document.writeln(--5 + bad);   
//--5 he likes a bad girls

Результат:

--1 Jhone kills Kenny
--2 Gary helps Anny
--3 Jhone helps Anny
--5 he likes a bad girls

Вывод

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


  • var работает внутри функции, объявляя локальную переменную. Это основная его задача

Рекомендации и замечания

  • Яваскрип сильно отличается от си уже тем что только(?) внутри функции возможны локальные переменные.
  • использование var или не использование в глобальной области видимости зависит только от вашего личного опыта. Но по мне так лучше не ленится. в перле это называется use strict

>>>для переменных используемых в зоне глобальной видимости не важно наличие var

Важно. Во-первых, “вары” нельзя удалить (с помощью delete). Во-вторых, их конкретизация происходит на “нулевой строке” (до начала работы “построчно”), где им сразу же присваивается значение undefined, и только потом переменная может получить (а может не получить) новое значение:

var glb_1 = 1;
if (false) {var glb_2 = 2; glb_3 = 3;}

alert(glb_1) // конкретизирована и получила значение 1
alert(glb_2) // конкретизировна и получила значение ‘undefined’
alert(glb_3) // вообще не переменная (нет var), ошибка при обращении



Похожие статьи:
- Самый быстрый способ определить количество пользователей на сайте онлайн
- Валидность HTML
- Функции постраничного вывода в PHP
- SEO оптимизация текста
- О порталах CMS
- Обман в обмене ссылками.
- FAQ по HTML (часть 1)
- WML - язык разметки
- Что такое WAP?
- Создание мобильных WAP сайтов
- Как сделать Wap версию сайта
- Все в одном: пакеты Apache, PHP, Perl, MySQL для Windows
- chmod - изменение режима доступа к файлам


Оглавление | Обсудить на форуме | Главная страница сайта | Карта сайта |
[0.001]