美文网首页
compose函数

compose函数

作者: _请输入昵称 | 来源:发表于2018-08-30 11:29 被阅读0次
var greeting = (firstName, lastName) => 'hello, ' + firstName + ' ' + lastName
var toUpper = str => str.toUpperCase()
var fn = compose(toUpper, greeting)
console.log(fn('jack', 'smith'))

compose接受函数作为参数,从右向左执行,返回类型函数
fn()全部参数传给最右边的函数,得到结果后传给倒数第二个,依次传递

compose的实现

var compose = function(...args) {
    var len = args.length // args函数的个数
    var count = len - 1
    var result
    return function func(...args1) { // func函数的args1参数枚举
        result = args[count].call(this, args1)
        if(count > 0) {
            count --
             return func.call(null, result) // result 上一个函数的返回结果
        } else {
              //回复count初始状态
              count = len -1
              return result
        }
    }
     
}

相关文章

  • compose函数

    compose compose 是函数式编程中一个非常重要的函数,compose的函数作用就是组合函数的,将函数串...

  • @Compose 注解到底做了什么?了解一下

    前言 了解过Compose的同学都知道,只需要添加一个@Compose注解就可以将函数转化成Compose函数,同...

  • compose函数和pipe函数

    compose函数 compose函数可以将需要嵌套执行的函数平铺,嵌套执行就是一个函数的返回值将作为另一个函数的...

  • compose

    compose是函数式编程中使用较多的一种写法, 它把逻辑解耦在各个函数中,通过compose的方式组合函数, 将...

  • compose函数

    compose接受函数作为参数,从右向左执行,返回类型函数fn()全部参数传给最右边的函数,得到结果后传给倒数第二...

  • compose 函数

    两个函数的组合 栗子:统计单词个数 分两步:1、获取空格2、获取长度 强调注意顺序,不知道为什么的可以分别打印sp...

  • FP

    偏函数 颠倒实参顺序 组合函数 组合函数 reduce实现 pipe(...) VS compose(...)p...

  • Javascript进阶——函数式编程(2)

    函数式编程中,常用的函数及使用: 组合函数 (Compose,Pipe) 概念 将需要嵌套执行的函数平铺,嵌套执行...

  • 解读koa-compose

    上一讲我们讲到 koa-router 的实现,今天我们讲讲 koa-compose,compose是将多个函数合并...

  • koa-compose源码阅读

    众所周知,在函数式编程中,compose是将多个函数合并成一个函数(形如: g() + h() => g(h())...

网友评论

      本文标题:compose函数

      本文链接:https://www.haomeiwen.com/subject/pwsrwftx.html