假设,我有一个如下所示的 js 文件:
$(document).ready(function() { // first task} );
$(document).ready(function() { // second task } );
$(document).ready(function() { // third task } );
加载文件后,任务将按顺序执行。我不明白为什么? 我猜测当发生“就绪”事件时会触发回调方法。执行顺序如何保留?连续的回调是否在某个地方排队?
注意:我知道这是一种非常幼稚的编码方式。我编写该代码片段只是为了表达我的观点,并且不会在我的项目中编写此类代码。
最佳答案
您的处理程序正在 pushed into an array ( readyList
) 用于执行 in order later ,当文档
is ready .
readyList.push( fn );
And executed when ready like this :
var fn, i = 0;
while ( (fn = readyList[ i++ ]) ) {
fn.call( document, jQuery );
}
如果文档已经准备好,那么它们将立即执行,这仍然是有序的。
关于jquery - jquery文档准备好的执行顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3934570/