Global variables являются, как вы, наверное, догадались, считается плохим. Любой другой код на странице может изменить их - часто потому, что другой программист случайно выбирает одно и то же имя. Вы можете попытаться смягчить этот эффект, выбрав действительно странные имена, но затем вы получите кучу действительно странных имен.
Существует множество способов свести к минимуму количество глобальных переменных, которые вы создаете в JavaScript. Один из способов - сохранить все переменные под одним объектом - это то, что делает jQuery (технически jQuery использует два - $ и jQuery.)
Если вы знаете, что делаете, вам часто не нужно создавать какие-либо глобальные переменные - просто заверните весь свой код в функцию, которую вы вызываете немедленно.
Дурной пример - загрязняют глобальное пространство имен ненужно:
var appleCount = 0;
function addApple() {
appleCount = appleCount + 1;
}
function howManyApples() {
return appleCount;
}
addApple();
alert(howManyApples());
Лучше пример - только создает одну глобальную переменную:
var appleCounter = {
count: 0,
add: function() {
this.count = this.count + 1;
},
howMany: function() {
return this.count;
}
};
appleCounter.add();
alert(appleCounter.howMany());
Лучший пример - не создает никаких глобальных переменных:
(function(){
var appleCounter = {
count: 0,
add: function() {
this.count = this.count + 1;
},
howMany: function() {
return this.count;
}
};
appleCounter.add();
alert(appleCounter.howMany());
})();
Можете ли вы опубликовать пример того типа функций, о котором вы говорите? – casablanca