これが私が通常行う方法です:
var TopLevel = TopLevel || {}; //Exentd or Create top level namespace
TopLevel.FirstChild = TopLevel.FirstChild || {}; //Extend or Create a nested name inside TopLevel
この方法を使用すると、ファイル間の安全性が確保されます。TopLevel が既に存在する場合は、それを TopLevel 変数に割り当てます。存在しない場合は、拡張可能な空のオブジェクトを作成します。
したがって、Application 名前空間内に存在し、複数のファイルに拡張されたアプリケーションを作成する場合は、次のようなファイルが必要になります。
ファイル 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();