關於jQery中$.Callbacks()的理解
- 2019 年 10 月 15 日
- 筆記
$.Callbacks()主要使用了回調,而說到回調又不得不說javascript的事件循環機制了。
所以想了解回調最好先看看js運行機制。
$.Callbacks()可以理解為創建一個回調隊列
var cd = $.Callbacks() function a (){ console.log('a'); } function b (){ console.log('b'); }
cd.add(a,b); cd.fire();
//a
//b
上面的代碼中我們創建了一個隊列,然後用add的方式往裏面添加兩個回調函數,最後fire讓這個回調隊列執行。
而在fire()中是可以添加參數的
var cd = $.Callbacks() function a (x,y){ console.log('a',x,y); } function b (){ console.log('b',x,y); } cd.add(a,b); cd.fire(10,20); //a,10,20 //b,10,20
callbacks()中可以有三個參數,once、memory、unique、stopOnFalse,讓我們分別來看看作用
var cd = $.Callbacks("once") function a (x,y){ console.log('a',x,y); } function b (){ console.log('b',x,y); } cd.add(a); cd.fire(10,20); cd.add(b); cd.fire(10,20) //a,10,20
once: