Если вы упаковываете свои модули в блоки (например, функции anon), вы можете привязать к локальному имени (через параметр или 'var'), а затем иметь любое произвольное длинное (возможно, помеченное "package") имя, которое вы хотите (если вы дажена данном этапе нужна глобальная).
Например, мои модули часто выглядят примерно так:
;(function ($, $exp, other) {
$(...)
other.xyz()
$exp.MyExportedObject = ...;
})(jQuery, window, some_module.other_expression) // end module
Я использую jQuery с noConflict, это первое, а второе показывает, что вы можете сделатьэто для любого выражения - глобальное, требующее, вычисляемое, встроенное, что угодно ... этот же подход "обтекания" может использоваться для исключения всех (или почти всех) глобалов с "особыми именами" - глобалы должны существовать на некотором уровнеОднако устранение потенциальных конфликтов - очень большая победа.