簡體   English   中英

jQuery文檔准備就緒-函數調用:順序還是異步?

[英]jQuery document ready - function calls: sequential or asynch?

我認識到這個問題可能與Javascript函數一般如何運行(而不僅僅是我的特殊情況)有關,但是...

我想知道我的文檔准備功能如何...嗯...功能。 程式化形式如下:

$(function () {
    object1.init();
    object2.init();
    object3.init(); etc...

僅當object1.init()返回時才會觸發object2.init()嗎? 還是它們都以異步方式觸發?

更新:如果它們按順序觸發,我有什么辦法可以讓它們同時運行(我可能不需要這樣做)?

謝謝。

僅當object1.init()返回時才會觸發object2.init()嗎? 還是它們都以異步方式觸發?

僅當object1.init()返回時才觸發object2.init()。
所有功能都存儲在隊列中,並且一個接一個地被觸發。

沒有辦法讓它們同時射擊。
不只是jQuery,而且javascript不支持並行編程。


您可以看到jQuery源代碼:

更新:我刪除了實際代碼,因為答案變成了迷你jQuery源代碼...)

// Handle when the DOM is ready
ready: function(wait) {
    ...

// Call all callbacks with the given context and arguments
fireWith: function(context, args) {
    ...

jQuery.Callbacks = function( flags ) {  
    ...

// The deferred used on DOM ready
readyList,

檢查jQuery源代碼中的那些函數和變量

它會順序運行。

如果init()之一執行異步調用,則顯然將是異步的,但是每個函數(或實際上的任何行)都將依次運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM