zoukankan      html  css  js  c++  java
  • javascript curry

    Function.prototype.before = function (func) {
    	var me = this;
    	return function () {
    		if (func.apply(this, arguments) === false) {
    			return false;
    		}
    		return me.apply(this, arguments);
    	}
    }
    
    // 先执行func
    Function.prototype.before2 = function (func) {
    	var me = this;
    	return function () {
    		var ret = func.apply(this, arguments);
    
    		if (!ret) {
    			return false;
    		} 
    
    		return me.apply(this, arguments);
    	}
    }
    
    // 先执行 after,再执行func
    Function.prototype.after = function (func) {
    	var me = this;
    	return function () {
    		var ret = me.apply(this, arguments);
    
    		if (ret == false) {
    			return false;
    		}
    
    		func.apply(this, arguments);
    		return ret;
    	}
    }
    
    var bind  = function (fn, context) {
    	return function () {
    		return fn.apply(context, arguments)
    	}
    };
    
    
    var curry = function (fn) {
    	var args = Array.prototype.slice.call(arguments, 1);
    	return function () {
    		var innerArgs = Array.prototype.slice.call(arguments);
    		var finalArgs = args.contact(innerArgs);
    		return fn.apply(null, finalArgs);
    	}
    };
    
    var bind2 = function (fn, context) {
    	var args = Array.prototype.slice.call(arguments, 2);
    	return function () {
    		var innerArgs = Array.prototype.slice.call(arguments);
    		var finalArgs = args.contact(innerArgs);
    		return fn.apply(context, finalArgs);
    	}
    }
  • 相关阅读:
    Go标准库Context
    事务并发处理: DB+ORM+逻辑代码
    日志:slf4j+log4j+maven配置
    Shiro workshop
    JSP Workshop
    sql records
    Java内存模型(JMM)
    Application, JDBC, 数据库连接池, Session, 数据库的关系
    Java位操作全面总结
    Effective Java总结
  • 原文地址:https://www.cnblogs.com/leamiko/p/3115108.html
Copyright © 2011-2022 走看看