1
<script type="text/javascript" src="/scripts/a.js"></script>
<script type="text/javascript" src="/scripts/b.js"></script>

上記の順序でロードされた 2 つの単純な JS スクリプトがあります。a.jsには、たとえばb.jsの関数への参照があります。つまりfoo()a.jsはb.jsで定義されている関数を呼び出します。一部のサーバーでは、 a.jsの実行時に が認識されないため、エラーがスローされました。他の一部のマシンでは、エラーはスローされませんでした。foo()foo()

これらの 2 つのスクリプトは同時に並行してロードされますか? それとも順番?答えはサーバーのアーキテクチャ (マルチコアなど) によって異なりますか?

ありがとう。

4

1 に答える 1

4

ダウンロードは並行して行われる場合とそうでない場合がありますが (ブラウザーによって異なります)、スクリプトの解析はページに配置された順序で行われます。

その順序 ( a.jsbefore b.js) をfoo()宣言されたのにb.js呼び出された ina.jsで使用した場合、存在する前に呼び出されたため、エラーが発生foo()します。

これは、JS ライブラリがユーザー スクリプトの前にスクリプトをロードすることを推奨するのと同じ理由です。そうすれば、それらの参照は、使用する前に存在します。

于 2012-05-09T07:47:58.260 に答える