博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JQUERY中方法参数做回调方法的多层回调callback,实现过滤作用
阅读量:6187 次
发布时间:2019-06-21

本文共 900 字,大约阅读时间需要 3 分钟。

$(document).ready(function(){	var arr = [1,14,10,8,2,5];	function getTask(callback,cond){		if(0< cond)		{			callback(arr);		}	}	var CALLME = {		func3 : function(callback){			getTask(callback,3);		},		func2 : function(callback){			CALLME.func3(function(tasks){				callback(tasks.sort(function(taskA,taskB){					return taskA - taskB;				}));			});		},		func1 : function(callback){			CALLME.func2(function(task){				callback(task[0]?"first task":null);			});		}	};	CALLME.func1(function(task){		console.log(task);	});});

  

 

代码有些乱,后续整理:

事实上这是一个多层过滤系统,最开始的数组在

func3中被条件限制,callback被传入值,即被3限制,传入数组

func2中数组被按数值大小排续

func1中限制了如果有下标为0的数组值,那么就task为"fisrt task"

最终CALLME.fun1的参数做为函数被执行,打印出first task;

 

这也给了我们有时解读程序的思路:从答案反推问题,有时我们需要从答案入手,找寻逻辑与思路,从而去理解程序。

 

而且,这种分层过滤的回调写法更大的好处是你可以直接调用它的任意一层,比如说我只是想给arr排序,那么我只需要

CALLME.func2(function(task){		console.log(task);	});

 

转载于:https://www.cnblogs.com/yubolin/p/5217892.html

你可能感兴趣的文章
84.快速栏桌面没有了运行
查看>>
一个response.cookies引用
查看>>
java中的相对路径和绝对路径
查看>>
C/C++语言extern使用方法总结
查看>>
【云快讯】之四十八《IBM和Cisco最新收购,加强Openstack易用能力》
查看>>
Java NIO系列教程(十一) Pipe
查看>>
Virtual Studio 2015发布利器:通过IDE直接发布容器化ASP.NET 5 到云中
查看>>
MySQL学习笔记(1)
查看>>
JDK下载与安装
查看>>
Spring mvc 笔记 @Controller @ModelAttribute @SessionAttributes @ControllerAdvice
查看>>
CentOS下mysql数据库常用命令总结
查看>>
如何在CentOS 7上安装jtomcat8.5服务器
查看>>
CPU三级缓存有什么用 二级缓存和三级缓存的区别
查看>>
我的友情链接
查看>>
许式伟:二十年的演进,互联网的下个时代是什么?
查看>>
快速获得服务器基本信息(debian centos)shell脚本
查看>>
Linux查找命令和文件的绝对路径
查看>>
Android4.0 input事件输入流程详解(中间层到应用层)
查看>>
Windows Server创建RAID-5卷
查看>>
mybatis+dubbo+ springmvc+zookeeper分布式架构
查看>>