一、callbacks
callbacks是一個多用途的回調函數列表對象,提供了一種強大的方法來管理回調函數隊列。基于發布定于的觀察者模式的設計,整個$.Callbacks是一個工廠函數,使用函數調用(非new,它不是一個類)創建對象,它有一個可選參數flags用來設置回調函數的行為,對外的接口也就是self的返回。
1)如果不是once模式,即可用多次觸發回調函數列表,則從變量stack中彈出存放的下文和參數,再次執行整個回調函數列表,直到stack為空。可用下面的事例驗證:
2)如果是once模式,并且不是memory模式,則禁用回調函數列表。可用下面的示例驗證:
3)如果是once+memory模式,則清空數組list,后續添加的回調函數還會立即執行。可用下面的示例驗證(jQuery的$.ajax()和$.Deferred()基本功能組件):
二、deferred
getAttribute?ie7有兼容性問題