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
в первом блоке кода выше.