首页 > 其他 > 详细

函数式编程

时间:2017-01-23 15:35:14      阅读:137      评论:0      收藏:0      [点我收藏+]

一、柯里化

(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));
})();

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

函数式编程

原文:http://www.cnblogs.com/chenluomenggongzi/p/6343991.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!