函数柯里化 - js篇

21 篇文章 0 订阅

一、什么是函数柯里化

  • Javascript高级程序设计(第3版):用于创建已经设置好了一个或多个参数的函数。基本方法是使用一个闭包返回一个函数。
  • 维基百科:柯里化(英语:Currying),是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。
  • 官方解释看得有点懵,大白话概括一下:
    用大白话来说就是只传递给函数一部分参数来调用它,让它返回一个新函数去处理剩下的参数。
  • 更简单一点就是:
    输入是一个函数,并且这个函数拥有n个参数
    输出也是一个函数,并且可以使用fn()()()这种方式调用
    参数被柯里化过程中的函数被拆分

二、简单的函数柯里化案列

//普通函数
const sum= (x, y, z)=> {
  return x + y + z
}
//函数柯里化
const sum = x=>{
  return function(y) {
    return function(z) {
      return x + y + z
    }
  }
}
//普通函数调用
sum(1,2,3)
// 函数柯里化调用
sum(1)(2)(3)
const fn = sum(1)
const fn1 = fn(2)
fn1(3)

三、函数柯里化的作用和特点

1.参数复用

有的时候同一种规则可能会反复使用(比如校验手机的参数),这就造成了代码的重复,利用柯里化就能够消除重复,达到复用参数的目的。
柯里化的一种重要思想:降低适用范围,提高适用性

2.提前返回

提前返回或者说提前确认,函数柯里化后可以提前处理部分任务,返回一个函数处理其他任务

3.延迟执行

返回的函数都不会立即执行,而是等待调用。

四、函数柯里化的好处

  1. 可以把函数式编程变得简洁,没有冗余。
  2. 尽管有多个参数,仍然可以保留数学函数的定义。
  3. 可以将函数作为返回值输出,提前返回。

留下足迹~
参考地址 简书- @一生唯有你

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值