如果有 2 或 3 或 20 个使用 jQuery 的语句
$(function() { ... })
添加 DOM 准备就绪时要执行的函数,所有这些函数是并行运行还是按顺序运行?
如果有 2 或 3 或 20 个使用 jQuery 的语句
$(function() { ... })
添加 DOM 准备就绪时要执行的函数,所有这些函数是并行运行还是按顺序运行?
document.ready
在这方面表现得像一个正常事件,它们按顺序发生,并且按照它们被绑定的顺序发生。您可以在此处查看相关的 jQuery 核心源代码:
当你这样做时会发生这种情况$(function)
:
ready: function( fn ) {
jQuery.bindReady();
if ( jQuery.isReady ) {
fn.call( document, jQuery );
} else if ( readyList ) {
readyList.push( fn );
}
return this;
}
这会在稍后发生,当“就绪”事件触发时:
if ( readyList ) {
var fn, i = 0;
while ( (fn = readyList[ i++ ]) ) {
fn.call( document, jQuery );
}
readyList = null;
}
如果文档已经准备好,函数会立即执行,这是if
上面第一个代码块中的部分。
它们将按顺序运行。您可以在 firebug 中放置断点以查看此行为
它们将按顺序运行。Javascript 代码不会并行运行。