💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、豆包、星火、月之暗面及文生图、文生视频 广告
``` function curring(fn) { let args1 = [] return function temp () { const args2 = [...arguments] if(args2.length){ args1.push(...arguments) return temp }else{ const res = fn.apply(this, args1) return res } } } function sum () { const args = [...arguments] return args.reduce((prev, cur) => { return prev + cur }) } const newSum = curring(sum) console.log(newSum(1)(2)(3)(4, 5)(6, 7)()) ``` ## tostring 的实现 ``` function curry() { var arg1 = [] // 参数的收集 var flag = function () { let arg2 = [...arguments] if (arg2.length) { arg1.push(arg2) return flag } } // 求和 // 利用toString隐式转换的特性,当最后执行时隐式转换,并计算最终的值返回 flag.toString = function () { return arg1.reduce(function (a, b) { return +a + +b; }); } return flag } const curriedAdd = curry() console.log(curriedAdd(1)(2)) ```