【代码】JS将普通函数转换为柯里化函数 发表于 2025-05-25 更新于 2025-12-19 阅读次数: 前言JS将普通函数转换为柯里化函数 源代码1234567891011121314151617181920212223242526272829303132// 原函数function fn(x, y, z) {}// 柯里化转换工具函数function curryTool(fn) { return function currentFn(...args) { if (args.length < fn.length) { // 如果当前传递的参数小于最终需要的参数 return function (...currentArgs) { // 则拼接参数并递归传递给当前函数 currentFn(...args.concat(currentArgs)); } } else { // 如果当前传递的参数大于等于最终需要的参数 // 则直接直接执行原函数,并传递当前函数输入的所有参数 return fn(...args); } }}// 通过柯里化工具函数将原函数转换为柯里化函数var curryFn = curryTool(fn);// 调用原函数fn(1, 2, 3);// 调用柯里化函数curryFn(1)(2)(3);// 调用原函数超出形参总数fn(1, 2, 3, 4);// 调用柯里化函数超出形参总数curryFn(1)(2)(3)(4); 完成