0

私のCSSでは、特定の機能用にいくつかの小さなファイルを作成し、ミニファイを使用してそれらを結合して1つのファイルに圧縮してダウンロードします。

私のJSファイルでも同じことをしたいと思います-論理的に分離してから、ダウンロードのためにMINと組み合わせて圧縮します。

私が持っている唯一のキャッチは、私が構築しているAJAXベースのサイトに、メインの表示領域にページをロードする要求を受け取る1つのコアJSファイルがあることです。

この関数(1つのJSファイルにある)を他のJSファイルから呼び出すことはできますか?これは、1つのJSファイルを他のスクリプトに公開するようなものです。

何かアドバイス?

どうも

更新**** * * _

では、あるJSファイルの関数を別のファイルからどのように呼び出すのでしょうか。

例えば:

ファイルAには関数callmetoday()があります

JSファイル番号2内からこれを呼び出すにはどうすればよいですか?

4

3 に答える 3

0

もちろん、最初に依存関係のjsファイルをロードするようにしてください。

より「パターン的な」ソリューションをお探しの場合は、requirejsをご覧ください。これは、このような依存関係の問題を解決するのに役立つライブラリです。

乾杯

于 2012-10-20T02:31:42.957 に答える
0

はい、2つの別々のjsファイルから関数をロードできます。キャッチは次のとおりです。

関数を使用する前に、関数がすでに宣言されている必要があります

つまり、実行する関数を含むjsファイルを、それを呼び出すjsファイルの前にロードするか、ページが完全にロードされた後に関数を呼び出す必要があります。

于 2012-10-20T02:31:48.200 に答える
0

はい。関数または変数を関数内またはオブジェクトフィールドとして宣言しない限り、グローバルスコープに存在します。ブラウザの場合、それがwindowオブジェクトです。

Darwayneによる警告にも注意してください。関数は、宣言された後(および一部のブラウザーではファイル内であっても)にのみ、別のファイルの関数を使用できます。

例:

ファイル1.js:

function f1(x){
  f2(x)
}

document.addEventListener("load",function(){f1(3)})

ファイル2.js:

function f2(x){
  alert(x)
  if(x) f1(x-1)
}

動作します:

  • 1.jsが読み込まれるとf1、グローバルスコープに表示されます
  • 2.jsが読み込まれるとf2、グローバルスコープに表示されます
  • ページが完全に読み込まれ、f1アクセスf2可能になったとき。
于 2012-10-20T02:44:10.063 に答える