2012-01-06 6 views
1

私は宣言したいオブジェクトが非常に多いです。しかし、私は補助JavaScriptファイルで、プライマリのjavascriptファイルを混乱させないようにしたいと思います。メインのjavascriptファイルのコードで補助ファイルに作成しているオブジェクトにアクセスできるようにするにはどうすればよいですか?複数のjavascriptファイルを使用する

+0

すべてのオブジェクト定義を持つファイルとそれ以外のファイルを使用します。 2つのスクリプトファイル – Ibu

答えて

2

メソッドの範囲外のオブジェクトを宣言するだけで、グローバルにアクセスできます。

補助スクリプト:

object myObj; 
object myObj; 

$(document).ready(function() { 
    // Do your manipulations here if needed. 
}); 

プライマリスクリプト:

$(document).ready(function() { 
    myObj.property = "value"; 
}); 

また、そのようなあなたのマークアップページに、プライマリ1の前に、あなたの "補助" ファイルを参照:

<head> 
    ... 
    <script src="js/auxiliary.js" type="text/javascript"></script> 
    <script src="js/primary.js" type="text/javascript"></script> 
</head> 
+0

を追加します。助けてくれてありがとう。簡単な質問ですが、私はプログラミングの初心者です – WyoBuckeye

0

これは基本的に私が行っていることです(これは箱の中ではうまくいかないかもしれませんが、それは実際に私にとってどのように機能するかにかなり近いです):

1)グローバルスコープでJSファイルを作成し、これらの他のオブジェクト:

global.js

var Registry = {}; 

Registry.object1 = { name: "Jack", age: "30" }; 
Registry.object2 = { name: "Sharon", age: "28" }; 

2)は、これらのオブジェクトを使用して二次(補助)を作成:

people.jsをHi, Jack! Meet Sharon! She's only 28 years old!

あなたはすべてのグローバルオブジェクトが含まれているすべてのページ、上のglobal.jsが含まれ、そしてあなたがそれらを必要なときにのみ補助JSファイルを使用します。出力すべき

(function() { 
    console.log("Hi, "+Registry.object1.name+"! Meet "+Registry.object2.name+"! She's only "+Registry.object2.age+" years old!"); 
}); 

他のオブジェクトを保持するためにレジストリオブジェクトを作成した主な理由は、他の場所にある他のオブジェクトが競合しないようにするためです。 "object1"という名前の別のオブジェクトが別の場所にある場合、いくつかの問題が発生する可能性がありますが、別のホルダーオブジェクトに貼り付けると、競合がないことが確認されます。 (つまり、Registry.object1object1とは異なります)

オブジェクトには機能が含まれているため(効果的にクラスを作成できるため)、グローバルクラスを使用することができます。

これは基本的にどうしていますか。希望が役立ちます。

幸運を祈る! :)