编程规范

把功能分解为一系列独立的函数,通过函数间相互调用来完成功能

为什么用函数式编程

  1. 提高复用性、可扩展性;就像搭积木一样;
  2. tree-shaking;

    有什么要求

  3. 纯函数:一个函数的返回结果只依赖于他的参数,同样的输入必定有同样的输出

  4. 减少函数副作用:就是会影响函数内部的数据,如全局变量。

    compose和pipe

    compose为了方便连续执行方法。 ```javascript function compose() { const args = [].slice.apply(arguments); return function(num) {
    1. return args.reduceRight((sum, fun) => {
    2. return fun(sum);
    3. }, num);
    } }

compose(minuseOne, multiplyTwo)(5)

  1. pipe函数和compose函数功能一样,只是从左往右执行。
  2. <a name="agA38"></a>
  3. # 链式调用
  4. ```javascript
  5. Promise.resolve(10).then(multiplyTwo).then(minuseOne).then((res) => {
  6. console.log(res)
  7. })