您的位置:首页 > Web前端 > JQuery

Jquery源码解析---利用队列来实现函数的顺序执行

2016-09-19 11:23 531 查看
//利用队列来实现函数的顺序执行
function test(list,callback){
var task;
task = list.shift();
if(task){
task();
}

if(list.length > 0){
arguments.callee(list,callback);
}else{
callback();
}
}

var list = [function(){console.log("first")},function(){console.log("second")}];
var callback = function(){console.log("callback");};

test(list,callback);

我们换成jQuery提供的方式:

var callbacks = $.Callbacks();
callbacks.add(function() {
alert('a');
})
callbacks.add(function() {
alert('b');
})
callbacks.fire(); //输出结果: 'a' 'b'


是不是便捷很多了,代码又很清晰,所以Callbacks它是一个多用途的回调函数列表对象,提供了一种强大的方法来管理回调函数队列。

那么我们使用回调函数,总的来说弱化耦合,让调用者与被调用者分开,调用者不关心谁是被调用者,所有它需知道的,只是存在一个具有某种特定原型、某些限制条件的被调用函数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐