一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

jQuery1.5的改進細節

  jQuery 1.5 beta1出來了,從學習跟進上來說,這一次已經比較晚了(我竟然不知道1.5什么時候出的alpha,就這么beta了)。

  這個1.5版本最大的更新是AJAX的完全重寫,提供了更強的可擴展性。但是受制于精力和篇幅,對新的AJAX的分析還是放到下回,本篇先簡單介紹一下細節方面的改進。

  jQuery._Deferred和jQuery.Deferred

  首先不得不說這兩個新生事物,因為他們是作為基礎設施存在,不把這兩個東西講明白了,有些問題根本沒辦法解釋。

  首先,jQuery.Deferred是jQuery._Deferred的增強版,因此對于這個問題,從jQuery._Deferred入手,就能說明一大半的問題。

  什么是Deferred?從字面上看,我的第一反應是延遲加載,首字母大寫的應該是類型的定義,所以這大概是一個透明提供延遲加載功能的類型吧。然而實際上,雖然確實帶有那么一點點延遲的意思,這個東西卻不是用來實現延遲加載的。

  簡單來說,jQuery._Deferred是一個函數隊列,他的作用有以下幾點:

  • 保存若干個函數。
  • 在特定的時刻把保存著的函數全部執行掉。
  • 執行過后,新進來的函數會立刻執行。

  感覺是不是和啥東西很像?對,jQuery的ready函數就是這樣的邏輯,實際中jQuery 1.5中的ready函數也確實被嫁接到這上面去了。

  jQuery._Deferred提供下面的接口:

  • done:function(fn1, fn2, …)的形式,用于把函數添加到隊列中。
  • fire:function(context, args)的形式,使用context指定this對象,args指定參數,調用隊列中所有函數。fire被調用后,_Deferred會進入isResolved狀態,未來對done的調用不會再保存函數,而是直接調用函數。
  • resolve:相當于調用fire(this, arguments),一個簡化的方法。
  • isResolved:用來判斷_Deferred是否在isResolved狀態,具體參考前面的fire函數的解釋。
  • cancel:取消掉整個隊列,這樣不管未來是不是fire,隊列中的函數都不會再被調用。

  說明白了jQuery._Deferred,再來看看jQuery.Deferred。這個東西其實就是2個_Deferred組成的,第一個稱為deferred,用于保管正常狀態下的函數;第二個稱為failDeferred,用于保管出錯狀態下的函數。同時jQuery.Deferred提供了一些新的接口:

  • then:function(done, fail)的形式,把done添加進deferred,把fail添加進failedDeferred。
  • fail:相當于failDeferred的done函數。
  • fireReject:相當于failDeferred的fire函數。
  • reject:相當于failDeferred的resolve函數。
  • isRejected:相當于failDeferred的isResolved函數。

  同時jQuery.Deferred取消了cancel函數。

  那么這個是啥用的呢?有正常和出錯2個狀態,同時又是異步的,很容易就能想到……對,給AJAX用的,在下一篇分析中再詳細說明。

  jQuery.ready的變化

  因為有了jQuery._Deferred這個東西,jQuery.ready函數變成依賴于函數隊列,具體的變化有:

  原來的readyList變量已經不再是一個數組,而變成了jQuery._Deferred對象。

  原本在DOMContentLoaded時,調用readList中所有函數的邏輯,現在也使用了jQuery._Deferred中,原來的代碼:

while ( (fn = ready[ i++ ]) ) {
fn.call( document, jQuery );
}

it知識庫jQuery1.5的改進細節,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 免费国产小视频在线观看 | 亚洲视频二区 | 婷婷国产在线 | 日本网址在线观看 | 日韩欧美在线播放视频 | 朝鲜美女免费一级毛片 | 国产综合色在线视频区色吧图片 | 久久精品国产主播一区二区 | 日本一区二区视频在线观看 | 欧美精品成人一区二区视频一 | 久久99国产精品亚洲 | 婷婷狠狠| 激情文学综合 | 成人两性视频 | 亚洲国产精品免费在线观看 | 91国内揄拍国内精品对白 | 精品精品国产高清a毛片牛牛 | 2020年国产精品午夜福利在线观看 | 六月色天 | 免费国产成人午夜在线观看 | 伊人久久香 | 韩国久久精品 | 无遮挡一级毛片性视频不卡 | 伊人网中文字幕 | 四虎影院色| 久草久| 日本ssswww大学生 | 日本三级一区二区 | 亚洲第一页综合 | 91精品国产综合久久福利 | aa级国产女人毛片水真多 | 国产床戏无遮挡免费观看网站 | 久久网综合 | 亚洲综合成人在线 | 亚洲专区视频 | haodiaocao这里只有精品一 | 丁香婷婷亚洲 | 韩国一级毛片在线高清免费 | 久久这里精品青草免费 | 四虎永久网址在线观看 | 日韩免费视频在线观看 |