JS函数柯里化和反柯里化

非淡泊无以明志,非宁静无以致远。正定聚!

柯里化

概述:

在计算机科学中,柯里化(Currying)是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术。

主要作用是提高函数的专用性。

下边我们通过用例来理解下柯里化的思想吧!

如果我们的原函数add有3个参数或者更多参数,我们是不是要一层一层的嵌套函数啊,这样太麻烦了。所以下边我们借用纯函数的思想来抽象化这个过程。上代码如下:

函数柯里化的应用(好处)

1:参数复用

2:提前返回

3:延迟执行

好处一:参数复用

对于一些有很多参数相同的函数调用情况,柯里化就非常适用了。

看下边例子↓↓↓

好处二:提前返回

提前返回函数避免重复操作,提高效率。

看下边的经典案例↓↓↓

好处三:延迟执行

在所有参数接收完毕后延迟统一执行

看下边的例子↓↓↓

反柯里化

概述:

反柯里化其实就是柯里化的逆过程,目的就是扩大函数的适用范围。

经典用例:

数组的push方法只能用于数组,我们现在通过反柯里化提取push函数,让它也适用于Object对象。

你可能感兴趣的:(JS函数柯里化和反柯里化)