0

関数を直接実行するJSファイルがいくつかあります。これはモジュールパターンで行われます(ここで説明:// http://www.adequatelygood.com/2010/3/JavaScript-Module-Pattern-In-Depth)。つまり、これは実際には、すべてのオブジェクトが保持/カプセル化するオブジェクトを定義する匿名の自己呼び出し関数があることを意味します。

これらの自己呼び出し関数は、必ずしもjqueryのready関数の前に実行されるとは限らないようです。

  1. これは本当ですか?

このパターンのファイルが複数ある場合:

module_part1.js

    var MODULE = (function (my) {
    my.oneFunc = function () {
    // added method...
    };
      return my;
   }(MODULE));

module_part2.js

    var MODULE = (function (my) {
    my.twoFunc = function () {
    // added method...
    };
      return my;
   }(MODULE));

jQueryの読み取り関数で関数Module.twoFuncが定義されていないことを確認できますか?

4

1 に答える 1

5

定義上document.ready、DOMがロードされると実行されます。この<script>要素はDOMの一部です。ブラウザが<script>タグを検出すると、ページの解析を停止し、スクリプトをダウンロードして実行してから、次の要素に進みます。したがって、document.readyイベント内では、すべてのスクリプト(タグのDOMの一部でした<script>)が読み込まれます。

于 2013-03-26T14:11:20.583 に答える