在加载/执行所有JS文件后,jQuery ready()是否会触发

Mat*_*ost 0 javascript jquery

我有一些直接执行函数的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));
Run Code Online (Sandbox Code Playgroud)

module_part2.js

    var MODULE = (function (my) {
    my.twoFunc = function () {
    // added method...
    };
      return my;
   }(MODULE));
Run Code Online (Sandbox Code Playgroud)

我们可以确定在jQuery的读取函数上该函数Module.twoFunc是不是没有被删除?

Dar*_*rov 5

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