柯里化函数介绍
2021-03-10 本文已影响0人
浅浅_2d5a
/**
* 高阶函数:如果函数符合以下条件之一,就是高阶函数
* 1、一个函数A,接收的参数是一个函数
* 2、一个函数A,返回值是一个函数
*
* 常用的高阶函数Promise、setTimeout、arr.map等数组方法
*/
/**
* 函数的柯里化:把接收多个参数的函数变换成接收一个单一参数的函数,内部再返回调用下一个单参数函数,依次处理剩余的参数,最后统一处理所有参数的函数编码形式。
* function fn(a){
* return function (b){
* return function (c){
* return a+b+c
* }
* }
* }
* let res = fn(1)(2)(3)
*
*/
柯里化实际是把简答的问题复杂化了,但是复杂化的同时,我们在使用函数时拥有了更加多的自由度。 而这里对于函数参数的自由处理,正是柯里化的核心所在。
场景:
表单多处需要同一验证时候,使用柯里化函数,能够简化代码,不必传多次相同的正则