前言
本人是一個(gè)熱愛前端的菜鳥,一直喜歡學(xué)習(xí)js原生,對(duì)于jq這種js庫(kù),比較喜歡理解他的實(shí)現(xiàn),雖然自己能力有限,水平很低,但是勉勉強(qiáng)強(qiáng)也算是能夠懂一點(diǎn)吧,對(duì)于jq源碼解讀系列,博客園里有很多,推薦大神 艾倫的jq系列,在這里,我僅僅是分享一下我對(duì)jq里的Callbacks模塊的理解與詳細(xì)介紹一下我自己仿jq實(shí)現(xiàn)的一個(gè)callback功能。
功能介紹
jq的Callbacks模塊主要是為其他模塊提供服務(wù)的,他就像一個(gè)溫柔的小女人,在背后默默地付出。Deferred就像一個(gè)巨人,在jq中那么的突出,但在內(nèi)部,他受到Callbacks的服務(wù)。
Callbacks的幾種狀態(tài):
- once -- 回調(diào)函數(shù)只執(zhí)行一次
- unique -- 函數(shù)不能重復(fù)添加到回調(diào)列表中
- memory -- 狀態(tài)記憶,主要用于Deferred中
- stopOnFalse -- 遇到return false 終止回調(diào)列表繼續(xù)執(zhí)行
我自己實(shí)現(xiàn)的Callbacks的幾個(gè)簡(jiǎn)單的方法