1.redux compose

函数式编程的一些概念:

纯函数是这样一种函数,即相同的输入,永远会得到相同的输出,而且没有任何可观察的副作用。

如何实现函数嵌套调用:

export default function compose(...funcs) { 
if (funcs.length === 0) { return arg => arg } 
if (funcs.length === 1) { return funcs[0]} 
// 重要关键点
return funcs.reduce((a, b) => (...args) =>a(b(...args))) }

其实 compose 函数做的事就是把 var a = fn1(fn2(fn3(fn4(x)))) 这种嵌套的调用方式改成 var a = compose(fn1,fn2,fn3,fn4)(x) 的方式调用。

参考链接:https://juejin.im/post/5b5c72...


specialcoder
2.2k 声望170 粉丝

前端 设计 摄影 文学