首页 > 代码库 > 柯里化函数之Javascript
柯里化函数之Javascript
柯里化函数之Javascript
定义
根据定义来说,柯里化就是将一个接收“多个”参数的函数拆分成一个或者许多个接收“单一”参数的函数。定义看起来是比较抽象的,下面来举个例子:
代码
|
|
不难理解,上面的代码中定义了一个连接字符串的函数,返回连接两个传入参数的字符串。现在我们再看看另一种定义方式:
|
|
上面的代码中,我们将一开始传入两个参数的函数改装成了一个(或者说是两个)只接收一个参数的函数。
我们来创建一个将接受多个参数的函数柯里化的通用函数:
|
|
柯里化的过程利用了闭包,使得返回的函数也能获得第一次传入的参数。
首先将传入的第二个参数存入args变量中,然后返回一个函数,在返回的函数中,将第一次传入的参数与柯里化之后传入的参数拼接起来成一个数组,然后通过apply方法调用柯里化之前的函数(fn),这样就达到了柯里化的效果。
如果是三个参数的函数想要柯里化,则如下:
|
|
文章作者:foreverpx
文章原文链接:柯里化函数之Javascript
柯里化函数之Javascript
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。