函数式编程
一、柯里化
(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)); })();
优点:实现不同功能的叠加。
myGitgub https://github.com/mfx55
希望我的博客能帮到你