Javascriptを用いた開発を行うときに、一般的に出回っている入門書のように、jsファイル内でそのまま変数を定義すると、他のjsファイルを読み込んだ際に、変数がバッティングしてコンテンツの機能が停止することがあります。
こういったことはバグの元ですし、特にチーム開発では大きな支障があります。
それを防ぐために、一つのjsファイル内で作成した変数が他コンテンツに干渉しないようにする必要があります。
具体的には、jsファイルを即時関数で囲うことになります。
以下に2通りのひな型を記します。
(function (root) {
var initialize = 以下略
var insert = 以下略
root.SomeThing = root.SomeThing || {};
// 他のjsファイルで用いたい関数を以下に記述
root.SomeThing.Main = {
initialize: initialize,
insert: insert
};
}(typeof window === 'object' ? window : typeof global === 'object' ? global : this));
多数の関数や定数を流用したい場合は以下のやりかたもあります。
(function(root) {
var SomethingConst = {}; //←ナニモノか連想配列を定義します(ここでは例としてSomethingConstとする)
/*ここに、定義したい定数を用意します。定数は「SomethingConst.honyarara =」と言う形で記述*/
root.SomethingConst = SomethingConst; //←rootのメソッドとして実行したい関数を設定
}(typeof window === 'object' ? window : typeof global === 'object' ? global : this));