Linux 拨号vps windows公众号手机端

js实现函数柯里化

lewis 7年前 (2018-05-29) 阅读数 10 #程序编程
文章标签 js

函数柯里化是一种将多个参数的函数转换为一系列接收单个参数的函数的技术。在JavaScript中,可以通过以下方式实现函数柯里化:

  1. 使用闭包:创建一个外部函数来接收所有参数,并返回一个内部函数来处理最终的计算。内部函数可以访问外部函数的参数和变量。
function curry(fn) {
return function curried(...args) {
if (args.length >= fn.length) {
return fn.apply(null, args);
} else {
return function (...args2) {
return curried.apply(null, args.concat(args2));
};
}
};
}
  1. 使用bind方法:JavaScript中的bind方法可以创建一个新函数,它的this值被绑定到提供的对象,并且一些参数被预先指定。
function curry(fn) {
return function curried(...args) {
if (args.length >= fn.length) {
return fn.apply(null, args);
} else {
return curried.bind(null, ...args);
}
};
}

使用这两种方式,可以将具有多个参数的函数转换为接收单个参数的函数序列,从而实现函数的柯里化。

版权声明

本文仅代表作者观点,不代表米安网络立场。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门