変数が衝突していることが問題であり、それらの値を個別に維持したい場合は、各ファイルのコードをクロージャーでラップする必要があります。ここでは、即時呼び出し関数式パターンを適用できます。
(function() {
// your code here
// all of it!
}());
これにより、グローバル変数が完全に防止されます。ファイル間で何も共有する必要がない場合は、これが適しています。
共有グローバルを作成する必要がある場合は、次のように宣言します。
var x = x || {}; // empty object as an example value
各ファイルの先頭でそれを行います。x が新しい場合、宣言されます。すでに宣言されている場合は、以前の値が保持されます。
グローバル変数を減らす簡単な方法として、名前空間を使用して同じことを行うことを強くお勧めします。
var APP = APP || {};
APP.x = APP.x || {}; // example property of APP, in this case initializing an object
いつでもテクニックを組み合わせることができます。クロージャーの外側で名前空間オブジェクトをセットアップし、それらにアクセスします。このようにして、1 つのグローバルのみを公開し、他のすべてのスコープを制限します。
それが役立つことを願っています!