Подтвердить что ты не робот

Когда требуется "var" в js?

Возможный дубликат:
Разница между использованием var и не использованием var в JavaScript

Когда-то я видел, как люди это делали

for(var i=0; i< array.length; i++){
 //bababa

}

но я также вижу, как люди делают это...

for(i=0; i< array.length; i++){
 //bababa

}

В чем разница между двумя? Спасибо.

4b9b3361

Ответ 1

Ключевое слово var никогда не требуется. Однако, если вы его не используете, переменная, которую вы объявляете, будет отображаться в глобальной области видимости (т.е. Как свойство объекта window). Обычно это не то, что вы хотите.

Обычно вы хотите, чтобы ваша переменная была видимой в текущей области, и это то, что var делает для вас. Он объявляет переменную только в текущей области (хотя обратите внимание, что в некоторых случаях "текущая область" будет совпадать с "глобальной областью", и в этом случае нет разницы между использованием var и не использованием var).

При написании кода вы должны предпочесть этот синтаксис:

for(var i=0; i< array.length; i++){
    //bababa
}

Или, если нужно, то вот так:

var i;
for(i=0; i< array.length; i++){
   //bababa
}

Выполнение этого:

for(i=0; i< array.length; i++){
   //bababa
}

... создаст переменную с именем i в глобальной области. Если кто-то другой также использовал глобальную переменную i, то вы просто перезаписали свою переменную.

Ответ 2

технически, вы никогда не должны его использовать, javascript просто будет весело на своем пути - используя ваши переменные, даже если вы не объявите их раньше времени.

но на практике вы всегда должны использовать его, когда объявляете переменную. это сделает ваш код более читабельным и поможет вам избежать путаницы, особенно если вы используете переменные с тем же именем и разными возможностями...

var n = 23;
function functThat( )
{
   var n = 32; // "local" scope
}