JavaScript函数柯里化

  • 时间:2018-08-30 22:37 作者:全栈前端 来源:全栈前端 阅读:145
  • 扫一扫,手机访问
摘要:本篇文章有肯定难度概念柯里化(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-07-16 22:16)
【网页前端|HTML】最全面的前端开发指南(2019-07-15 12:57)
【系统环境|数据库】零基础如何快速学好大数据?(2019-06-29 12:27)
【系统环境|Linux】零基础如何学好大数据?必备需要学习知识(2019-06-18 11:54)
【系统环境|】Hadoop环境中管理大数据存储八大技巧(2019-06-15 11:01)
【系统环境|服务器应用】现在国内IT行业是不是程序员过多了?(2019-06-11 06:34)
【系统环境|服务器应用】新贵 Flutter(2) 自己设置 Widget(2019-06-11 06:34)
【系统环境|服务器应用】Android完整知识体系路线(菜鸟-资深-大牛必进之路)(2019-06-11 06:34)
【系统环境|服务器应用】Java程序员小伙经历三个月备战,终获阿里offer(2019-06-11 06:34)
【系统环境|服务器应用】每日一问:谈谈对 MeasureSpec 的了解(2019-06-11 06:34)
手机二维码手机访问领取大礼包
返回顶部