函数式编程
高阶函数
沿着路走到底
涉及前端,后端,数据库
展开
-
柯里化
概念 所谓"柯里化",就是把一个多参数的函数,转化为单参数函数。 把接受多个参数的函数变换成接受一个单一参 数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。 // 柯里化之前 function add(x, y) { return x + y; } add(1, 2) // 3 // 柯里化之后 function add(y) { return function (x) { return x.原创 2020-09-20 10:42:59 · 93 阅读 · 0 评论 -
compose、pipe
概念 如果一个值要经过多个函数,才能变成另外一个值,就可以把所有中间步骤合并成一个函数,这就叫函数的合成(compose)。 合成的好处显而易见,它让代码变得简单而富有可读性,同时通过不同的组合方式,我们可以轻易组合 出其他常用函数,让我们的代码更具表现力。 function f1(arg) { console.log("f1", arg); return arg; } function f2(arg) { console.log("f2", arg..原创 2020-09-20 10:27:38 · 290 阅读 · 0 评论 -
尾调用、尾递归
尾调用 尾调用就是指某个函数的最后一步调用另一个函数。 function f(x){ return g(x); } 上面代码中,函数 f 的最后一步调用函数 g , 这就叫尾调用。 以下三种情况,都不属于尾调用。 // 情况一 // 调用函数 g 后,还有赋值操作,所以不属于尾调用,即使语义完全一样 function f(x){ let y = g(x); return y; } // 情况二 // 调用后还有操作,即使写在一行内 function f(x){..原创 2020-09-20 09:45:25 · 220 阅读 · 0 评论