JavaScript函数柯里化

  • 时间:2018-08-30 22:37 作者:全栈前端 来源:全栈前端 阅读:116
  • 扫一扫,手机访问
摘要:本篇文章有肯定难度概念柯里化(Currying)目标是把接受多个参数的函数变换成接受一个单一参数的函数。例如:fn(1,2,3);变化为fn(1)(2)(3);使用处封装函数,减少需传入的参数数量(确定不变参数,减少可变参数)分步骤传参(语义化)减少参数以下举例说明需求:实现一个函数,返回一个由 域

本篇文章有肯定难度

概念


柯里化(Currying)目标是把接受多个参数的函数变换成接受一个单一参数的函数。

例如:

fn(1,2,3);
变化为
fn(1)(2)(3);

使用处


  • 封装函数,减少需传入的参数数量(确定不变参数,减少可变参数)
  • 分步骤传参(语义化)

减少参数


以下举例说明

需求:实现一个函数,返回一个由 域名 板块 接口名构成的字符串。

常规做法 :

JavaScript函数柯里化

如何避免每次用都重复传入相同的参数呢?这时即可以用柯里化来减少参数(确定不变参数,减少可变参数)

JavaScript函数柯里化

貌似封装的不错,进一步修改,给任何函数用,以下2种方式皆可

- 造轮子

JavaScript函数柯里化

-用bind 【重点

bind(ctx,argu1,argu2,...)

bind函数实际就是个现成的柯里化函数,它接收形参并返回一个新的函数

用举例

JavaScript函数柯里化


分步骤传参


假如你的函数fn参数太多怎样办?都放在一个对象里也无不可,但是显的太乱,假如能语义化自然最好。

JavaScript函数柯里化

1.每次调使用都返回一个函数

2.参数传完则执行函数,并返回结果

以下是实现【重点

JavaScript函数柯里化

JavaScript函数柯里化

【关注一下不迷路】

JavaScript函数柯里化

html css html css javascript html javascript css javascript css

  • 全部评论(0)
最新发布的资讯信息
【网页前端|JS】五年Java程序员该掌握的技术点,这些都不懂,还想拿高薪吗?(2019-04-24 22:19)
【系统环境|】2019蚂蚁金服面试总结(Java方向)(2019-04-18 16:19)
【系统环境|】notepad++ 三位数字正则替换规则(2019-04-12 23:02)
【系统环境|服务器应用】网络工程师跨交换机的Vlan配置与管理知识(2019-03-26 02:14)
【系统环境|服务器应用】最小化的定制版linux系统:CoreOS(2019-03-26 02:14)
【系统环境|服务器应用】分布式系统面试题:分布式事务处理方案?(2019-03-26 02:13)
【系统环境|服务器应用】带着网关去旅行(系列二):防止vps上ssh端口被恶意扫描(2019-03-26 02:13)
【系统环境|服务器应用】美团iOS面试总结(2019-03-26 02:13)
【系统环境|服务器应用】百度iOS面试总结(2019-03-26 02:13)
【系统环境|服务器应用】Java大佬之学习历程(三)(2019-03-26 02:13)
手机二维码手机访问领取大礼包
返回顶部