zoukankan      html  css  js  c++  java
  • 函数式编程

    一、柯里化

    (function () {
    
        var add = function (x) {
            return function (y) {
                return x + y;
            }
        };
    
        var a = add(1);
        console.log(a(2)); //3
    
    })();

    优点:实现了函数”暂存“,可以把一个变量一直放在函数里面。

    举个例子,那上面代码来说,我要实现1+1,1+2,1+3,只需要

    var addOne=add(1);
    addOne(1); //1+1
    addOne(2); //1+2
    addOne(3); //1+3

    二、组合化

    (function () {
    
        var compose=function (f,g) {
            return function (x) {
                return f(g(x));
            }
        };
    
        var getHead=function (x) {return x[0]};
        var toUpperCase=function (x) {return x.toUpperCase();};
    
        var controlString=compose(getHead,toUpperCase);
    
        var str='meng';
        console.log(controlString(str));
    })();

    优点:实现不同功能的叠加。

  • 相关阅读:
    js中使用EL表达式
    洛谷——RMQ
    模板——RMQ
    洛谷——图论
    洛谷——基础搜索
    洛谷——搜索
    搭桥
    简单dp
    Codevs 3194 基因变异
    cin、scanf、gets、getchar 用法介绍
  • 原文地址:https://www.cnblogs.com/chenluomenggongzi/p/6343991.html
Copyright © 2011-2022 走看看