в чем разница в переменной delaration здесь?

Занимаюсь ведением проекта и читаю код:
вижу два метода объявления переменных. Может кто-нибудь объяснить, в чем разница между первой и второй строкой?

Для меня я читаю, что в javascript ключевое слово var является необязательным. в первой строке они объявили две новые переменные и инициализировали их. Во второй строке они объявили две новые переменные, но не инициализировали их. Должен ли я взять что-то еще из этого?

aURL = ""; msgNb = 1;
var mode, param, counter;

person MedicineMan    schedule 11.12.2009    source источник
comment
Разве это не просто JavaScript? У jQuery нет собственного языка, не так ли?   -  person Mark Canlas    schedule 11.12.2009
comment
Я новичок в веб-разработке, так что да, это может быть просто вопрос javascript. Это то, что я здесь, чтобы узнать о   -  person MedicineMan    schedule 11.12.2009


Ответы (3)


Если все эти переменные не находятся внутри функции, они все глобальные, первые две - это присваивания, которые, я бы предположил, потому что они были ранее объявлены, в противном случае их можно было бы сократить до

var aURL = '', 
    msgNb = 1, 
    mode, 
    param, 
    counter;

Неназначенные по умолчанию имеют неопределенное значение.

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

person meder omuraliev    schedule 11.12.2009

Если вы не используете var, то вы используете (или создаете) переменную из «родительской» области, вплоть до глобальной, если она не находит локальную в любой области.

person Greg    schedule 11.12.2009

Это не проблема "jquery", а скорее проблема JavaScript. Переменная без ключевого слова «var» имеет глобальную область видимости, т. е. она видна из всех методов, объектов и т. д. Переменная видна только в пределах своей конкретной области.

person Michael    schedule 11.12.2009