【发布时间】:2010-07-20 22:30:44
【问题描述】:
如果有 2 或 3 或 20 条语句使用 jQuery 的
$(function() { ... })
在DOM准备好时添加要执行的函数,所有这些函数是并行运行还是顺序运行?
【问题讨论】:
标签: jquery document-ready domready
如果有 2 或 3 或 20 条语句使用 jQuery 的
$(function() { ... })
在DOM准备好时添加要执行的函数,所有这些函数是并行运行还是顺序运行?
【问题讨论】:
标签: jquery document-ready domready
document.ready 在这方面表现得像一个正常事件,它们按顺序发生并且按照它们被绑定的顺序。可以看the relevant jQuery core source here:
当您执行$(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 代码不会并行运行。
【讨论】:
setInterval() 一个,每 0.11 秒有一个,那么 2 个函数在某个时候不会并行运行吗? (如 2 个线程)