これを行うために派手な js プラグインは必要ありません。html のメイン js ファイルの前に「ヘッダー ファイル」(すべての関数宣言) を含めるだけです。
例:
file1.js:
//declare your functions here
function handyFunction() {
//do some handy stuff
}
file2.js:
//use them here
handyFunction();
html:
<body>
<!-- all your html here -->
<script src="file1.js" type="text/javascript"></script>
<script src="file2.js" type="text/javascript"></script>
</body>
すべてをグローバル オブジェクトに保持することに抵抗がある場合は、必要なメソッドを含むオブジェクトを保持し、必要に応じてそれらのインスタンスを作成するか、以前に作成したインスタンスにアクセスできます。簡単な例:
MyObject.js:
function MyObject() {
this.property = "someValue";
}
MyObject.prototype.someMethod = function () {
//do something
}
main.js:
var obj= new MyObject();
obj.someMethod();
html:
<!-- always remember to include your files in the correct order -->
<script src="MyObject.js" type="text/javascript"></script>
<script src="main.js" type="text/javascript"></script>
わかりました、最後にもう 1 つ説明します。JavaScript では、すべての変数は関数のスコープ内で宣言されます。ただし、存在しない場合は window オブジェクトに追加されます。これは関数スコープと呼ばれ、他の言語との大きな違いです。これが意味することは、ファイルで宣言するすべてのものは、1) グローバル オブジェクト (ウィンドウ) に追加されるか、2) 宣言された関数からのみアクセスできるということです。したがって、一部のコードを「匿名化」したい場合は、自動実行匿名関数をラップすることができます。関数にはそれを参照する変数がないため、そのコードは外部からアクセスできません。これがあなたが見る理由です(function() { /*...*/}());
多くの場所で。では、このように宣言されたコードをファイル間で共有するにはどうすればよいでしょうか? 簡単です、名前を付けてください!このようにして、モジュール パターンが作成されます。最初のファイルでは、すべてのコードを「モジュール」という名前の変数またはヤギを浮かせるもので宣言し、その中にすべてのメソッドを好きな方法で配置します (たとえば、無名関数を使用してオブジェクトを返すなど)。 )。秘訣は、この「モジュール」オブジェクトをグローバル オブジェクトで宣言して、アプリケーション内の複数のファイルで使用できるようにすることです。本当にそれ以上のものはありません。