zoukankan      html  css  js  c++  java
  • JQUERY中方法参数做回调方法的多层回调callback,实现过滤作用

    $(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);
    	});
  • 相关阅读:
    实现JDK代理
    Dictionary字典类介绍
    在服务器上新建虚拟机及安装系统
    开启远程桌面设置
    Windows Server 2008 R2远程协助选项灰色
    server 2012系统更改电脑密码
    eclipse + maven + scala+spark环境搭建
    C#数据路接口中获取SQL数据的用法
    C#常用快捷键
    oracle常用的快捷键
  • 原文地址:https://www.cnblogs.com/yubolin/p/5217892.html
Copyright © 2011-2022 走看看