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它是一个多用途的回调函数列表对象,提供了一种强大的方法来管理回调函数队列。
那么我们使用回调函数,总的来说弱化耦合,让调用者与被调用者分开,调用者不关心谁是被调用者,所有它需知道的,只是存在一个具有某种特定原型、某些限制条件的被调用函数。
相关文章推荐
- jquery源码解析:jQuery队列操作queue方法实现的原理
- jQuery中顺序执行fuction,队列方式实现
- 详解如何构建Promise队列实现异步函数顺序执行
- jQuery源码05 (3653 , 3797) queue() : 队列方法 : 执行顺序的管理
- 面试题:(考察闭包,this指向,预解析,函数执行顺序等知识点)
- JavaScript函数执行时函数实参赋值和函数内部预解析的顺序
- 异步函数顺序执行的实现
- C#动态执行函数:利用反射实现
- async.js 实现js函数执行顺序
- 关于JQuery 中$.ajax函数利用jsonp实现Ajax跨域请求ASP.NET的WebService成功获取数据的案例
- c语言:利用指针变量,用函数实现将3个整数按从大到小的顺序输出
- jQuery源码解析(3)—— ready加载、queue队列
- c语言:利用指针变量,用函数实现将3个整数按从大到小的顺序输出
- 利用OpenCV的threshold函数实现双阈值法二值化操作的源码!
- . 有一个一维数组,里面存储整形数据,请写一个函数,将他们按从大到小的顺序排列,要求执行效率高,并说明如何改善执行效率(该函数必须自己实现,不能使用php函数)。
- jquery源码解析--queue队列
- Android Executor 如何实现任务Runnable队列顺序执行
- for_each,count,mismatch等STL算法在VS2013下的实现以及辅助函数的源码解析
- 【HTML/JS】利用JQuery的load函数动态加载其它页面的内容的实现代码
- jQuery源码剖析--jQuery入口函数-init实现