$.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:

02-12 19:27
查看更多