3

如果页面中有两个 javaScript 函数,需要在文档加载完成时调用。是否有可能任何函数都可以首先执行,或者它将是第一个总是首先执行的函数?

因此,如果您有以下代码,则使用 jQuery:

$(document).ready(function(){ function1(); });

$(document).ready(function(){ function2(); });

会发生function2先执行还是function1总是先执行?

4

3 回答 3

7

jQuery ready 使用Deferred 对象系统

ready: function( fn ) {
    // Add the callback
    jQuery.ready.promise().done( fn );

    return this;
},

(来自源代码

并且文件指出

回调按照添加的顺序执行

所以是的,您的回调将按添加顺序执行。

于 2012-10-09T09:52:17.907 回答
3

如果你想让这些函数按顺序执行,你为什么不写:

$(document).ready(function(){ 
    function1();
    function2();
});
于 2012-10-09T09:51:22.220 回答
0

最好利用回调函数来确定函数的执行顺序

于 2012-10-09T09:52:25.497 回答