Вот как я обычно это делаю:
var TopLevel = TopLevel || {}; //Exentd or Create top level namespace
TopLevel.FirstChild = TopLevel.FirstChild || {}; //Extend or Create a nested name inside TopLevel
Использование этого метода обеспечивает безопасность между файлами.Если TopLevel уже существует, вы назначите его переменной TopLevel, если это не так, вы создадите пустой объект, который можно расширить.
Итак, если вы хотите создать приложение, которое существует в пространстве имен приложения ив нескольких файлах вы хотите, чтобы файлы выглядели так:
Файл 1 (библиотека):
var Application = Application || {};
Application.CoreFunctionality = Application.CoreFunctionality || {};
Application.CoreFunctionality.Function1 = function(){
//this is a function
}//Function1
Файл 2 (библиотека):
var Application = Application || {};
Application.OtherFunctionality = Application.OtherFunctionality || {};
Application.OtherFunctionality.Function1 = function(){
//this is a function that will not conflict with the first
}
Файл 3 (рабочий):
//call the functions (note you could also check for their existence first here)
Application.CoreFunctionality.Function1();
Application.OtherFunctionality.Function1();