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 的 read 函数上该函数Module.twoFunc不是 undefied 吗?

4

1 回答 1

5

根据定义,document.ready一旦加载了 DOM,就会执行。该<script>元素是 DOM 的一部分。当浏览器遇到<script>标签时,它会停止解析页面并下载并执行脚本,然后再继续处理下一个元素。因此,在 document.ready 事件中,所有脚本(在<script>标签中属于 DOM 的一部分)都将被加载。

于 2013-03-26T14:11:20.583 回答