我有一些直接执行函数的JS文件。 它是通过模块模式完成的(在此描述:// http://www.adequatelygood.com/2010/3/JavaScript-Module-Pattern-In-Depth)。 所以这实际上意味着我们有一个匿名自调用函数来定义我们的对象,所有对象都包含/封装。
似乎这些自调用函数不一定在jquery的ready函数之前执行。
如果我们有多个具有此模式的文件:
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
没有被删除吗?
答案 0 :(得分:5)
根据定义,一旦DOM加载,document.ready
就会执行。 <script>
元素是DOM的一部分。当浏览器遇到<script>
标记时,它会停止解析页面并下载并执行脚本,然后继续执行下一个元素。因此,在document.ready事件中,将加载所有脚本(属于<script>
标记中DOM的一部分)。