Просто определите вашу переменную в той же области, в которой вы определяете функции, которые на нее полагаются.Если ваши функции находятся в глобальной области видимости, то ваша переменная должна быть такой.
Если вы разрабатываете плагин, элемент управления или скрипт, который будет использоваться на нескольких страницах, тогда да, избегайте глобальных переменных.Если, с другой стороны, у вас есть определенный для страницы фрагмент данных, который вам нужен в нескольких местах, глобальная переменная абсолютно уместна.
Вперед, критики!Проголосуй за меня!И когда вы закончите с этим, посмотрите некоторые другие мои ответы, где я на самом деле рекомендую использовать таблицы в HTML!: -)
Иногда вам нужно понять правила, чтобы вы знали, когда можно их нарушать.
Теперь, если вы только сейчас поняли, что ваши функции находятся в глобальной области видимости,и вы хотите изменить это, просто оберните весь свой код в анонимную функцию и немедленно вызовите его:
(function(){
var scopeLevelVariable = true;
function scopeLevelFn(){
...
}
window.globallyAvailableVariable = "foo";
window.globallyAvailableFunction = function(){
...
};
})();