Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Теория: var.


Автор: Absinthe 5.5.2011, 04:30
1) Когда правильно использовать var?

2) Если одну и ту же переменную объявлю 2+ раз - это ошибка?

3) Если переменные без var  начинаю использовать - ошибка?

4) Код:
for(var i in []) {}
for(var i in []) {}

Среда программирования выдает предупреждение: duplicate declaration. 

Как правильно писать?

Автор: CruorVult 5.5.2011, 10:43
http://javascript.ru/var

Автор: Absinthe 5.5.2011, 14:33
CruorVult,  спасибо, но ссылка вот ничего не объясняет. Нет ничего про 3)
А ведущие с нее ссылки(на блок) косвенно говорят о допустимости 2) и 4)

Автор: ksnk 5.5.2011, 14:54
Цитата(Absinthe @  5.5.2011,  04:30 Найти цитируемый пост)
1) Когда правильно использовать var? 

var описывает новую локальную переменную, которая будет видна только внутри окружающей ее функции.
Цитата(Absinthe @  5.5.2011,  04:30 Найти цитируемый пост)
2) Если одну и ту же переменную объявлю 2+ раз - это ошибка?

будет предупреждение, а не ошибка. В том смысле, что выполнение скрипта на этом месте не прерывается, а продолжается далее.
Цитата(Absinthe @  5.5.2011,  04:30 Найти цитируемый пост)

3) Если переменные без var  начинаю использовать - ошибка?
 

Переменные без var автоматически ссылаются на свойства объекта window. Таким образом реализованы в JS глобальные переменные. Бездумное использование глобальных переменных - несложный способ поиметь приключений в последующей отладке.
Цитата(Absinthe @  5.5.2011,  04:30 Найти цитируемый пост)

4) Код:
for(var i in []) {}
for(i in []) {}
 

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

Автор: Absinthe 5.5.2011, 16:36
ksnk,  спасибо. То, что надо.
Стоит ли читать статьи на javascript.ru? По ссылке на блоки, к примеру, код кривой.

Автор: нуп 5.5.2011, 16:42
В чем кривость то ?

Автор: Absinthe 6.5.2011, 18:19
нуп, 
Код

var x = 1;
{
   var x = 2;
}
alert(x); // выведет 2


Автор: нуп 6.5.2011, 18:57
и?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)