函数柯里化其实就是使用一个闭包返回一个函数,其中需要注意的是,当函数被调用的时候,返回的函数还需要设置一些传入的参数。
来看一下红宝书对函数柯里化给出的例子
红宝书例子
这个例子看起来有点复杂,其实就是相当于在第一次调用curry函数的时候传了一个累加器以及一个保存在args里面的**初始值****,然后在第二次调用的时候将新参数与旧参数融合再调用累加函数,4+4结果当然是8。OK我们已经了解到它的基本原理每次传一个参数,分多次调用,**那我们就来实现一个简单的列子吧
自己实现加深理解
这是一个简单的介绍函数,但这短短的两行代码其实就交代了curry函数的基本原理,稍微思考一下我们似乎可以看出柯里化函数的一个好处,在调用函数的时候我们可以有一个分步的动作,接收一个参数返回一个值,这样似乎在之后的封装和优化上面会更加简洁。
经典用例用reduce实现pipe
大家可以细细体会介个函数,其实是reduce方法的的一个经典的应用。
其实柯里化函数式函数式编程的一个基础,大家可以从本文开始对函数式编程有一个了解,小菜鸡我以后也会记录一下我自己对函数式编程的理解的
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!