手写函数柯里化原理

简介: 手写函数柯里化原理记录

函数柯里化原理:

const getSum = (args) => {
             //参数求和方法
    return args.reduce((a, b) => {
   
        return a + b;
    })
}
const foo = (...args) => {
   
    const totalParamsSum = getSum(args);            //首次调用,第一个参数,并作为总和total
    const fn = (...arg2) => {
   
        const sum2 = getSum(arg2);
        return foo(totalParamsSum + sum2);       
    }
    fn.toString = () => {
              
        return totalParamsSum;
    }
    return fn;            //只有接下来还有参数进行调用,就会再次执行fn,累加totalParamsSum
}
console.log(foo(1)(2)(3) == 6)

记录一下~

目录
相关文章
|
前端开发
Promise的用法&原理&手写实现-2
Promise的用法&原理&手写实现-2
46 1
|
28天前
|
JavaScript 前端开发 数据处理
函数柯里化有哪些优势
函数柯里化可以提高代码的复用性,使函数更灵活、更易于测试和维护。它通过将多参数函数转换为一系列单参数函数,简化了函数调用,支持部分应用,增强了函数的组合能力。
|
7月前
什么是闭包?手写一个闭包函数
什么是闭包?手写一个闭包函数
63 0
|
7月前
|
Java Python
编程中的函数与方法
编程中的函数与方法
86 4
|
7月前
|
Python
Python函数式编程,举例说明高阶函数的使用。
Python函数式编程,举例说明高阶函数的使用。
67 2
|
Java 数据安全/隐私保护
【逻辑控制练习题+方法的使用和重载+函数调用】
【逻辑控制练习题+方法的使用和重载+函数调用】
51 0
|
JavaScript 前端开发 Java
函数式编程入门:理解纯函数、高阶函数与柯里化
函数式编程入门:理解纯函数、高阶函数与柯里化
182 0
|
前端开发 JavaScript API
Promise的用法&原理&手写实现-1
Promise的用法&原理&手写实现-1
63 0
柯里化函数简单实现
柯里化是一种函数式编程技术,可以将一个接受多个参数的函数转换成一系列接受一个参数的函数,这些函数可以在被顺序调用的过程中逐步累积参数,最终返回结果。
|
JavaScript 前端开发
📕 重学JavaScript:如何手写一个`reduce`高阶函数?
`reduce` 高阶函数是一个非常常用的数组方法,可以让你用一种简单的方法来处理数组里的元素。 数组就是一串有顺序的东西,比如[1, 2, 3, 4]就是一个数组,里面有四个数字。👌
150 0