Объявление глобальной переменной следует использовать только в качестве крайней меры.
Глобальные переменные плохие в целом и особенно в JavaScript.Нет никакого способа предотвратить засорение вашей глобальной части другим фрагментом javascript.Удары будут происходить тихо и приводить к ошибкам во время выполнения.
В качестве примера возьмем следующее.
// Your code
myParam = { prop: 42 };
function operateOnMyParam() {
console.log(myParam.prop);
}
Здесь я объявил 2 глобальные переменные
Это может нормально работать при тестированииJavaScript в изоляции.Однако что произойдет, если после тестирования пользователь объединит вашу библиотеку javascript с моей библиотекой javascript, которая имеет следующие определения
// My code
function myParam() {
console.log("...");
}
Это также определяет глобальное значение с именем myParam, которое конфликтует с вашим myParam.Какая победа зависит от того, в каком порядке были импортированы скрипты.Но в любом случае один из нас находится в беде, потому что один из наших глобальных объектов мертв.