JavaScript函数柯里化是什么意思?

2026-04-01 15:000阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1100个文字,预计阅读时间需要5分钟。

JavaScript函数柯里化是什么意思?

Currying(柯里化)是一种将接收多个参数的函数转换为接收一个参数的函数的技术。这种转换首先接受第一个参数,然后返回一个新的函数,该函数可以接受剩余的参数,并最终返回与原始函数相同的结果。

柯里化 (Currying)是把接收多个参数的原函数变换成接受一个单一参数(原来函数的第一个参数的函数)并返回一个新的函数,新的函数能够接受余下的参数,并返回和原函数相同的结果。

ES6的方式实现柯里化的通用

function currying(fn,...rest1){ return function(...rest2){ //这里用apply 是为把数组形式的参数直接传入原函数 null是因为不需要改变this return fn.apply(null,rest1.concat(rest2)); } }

将一个sayHello函数柯里化

function sayHello(name,age,fruit){ console.log(`我叫${name},我${age}岁了,我喜欢吃${fruit}`); } //传入第一个参数 let curryingShowMsg = currying(sayHello,'小明'); //执行传入剩余参数 curryingShowMsg(22,'芒果');

反柯里化 和柯里化刚好相反。为了让方法使用场景更广,使用反柯里化,可以把原生方法借出来,让任何对象拥有原生对象的方法。

阅读全文

本文共计1100个文字,预计阅读时间需要5分钟。

JavaScript函数柯里化是什么意思?

Currying(柯里化)是一种将接收多个参数的函数转换为接收一个参数的函数的技术。这种转换首先接受第一个参数,然后返回一个新的函数,该函数可以接受剩余的参数,并最终返回与原始函数相同的结果。

柯里化 (Currying)是把接收多个参数的原函数变换成接受一个单一参数(原来函数的第一个参数的函数)并返回一个新的函数,新的函数能够接受余下的参数,并返回和原函数相同的结果。

ES6的方式实现柯里化的通用

function currying(fn,...rest1){ return function(...rest2){ //这里用apply 是为把数组形式的参数直接传入原函数 null是因为不需要改变this return fn.apply(null,rest1.concat(rest2)); } }

将一个sayHello函数柯里化

function sayHello(name,age,fruit){ console.log(`我叫${name},我${age}岁了,我喜欢吃${fruit}`); } //传入第一个参数 let curryingShowMsg = currying(sayHello,'小明'); //执行传入剩余参数 curryingShowMsg(22,'芒果');

反柯里化 和柯里化刚好相反。为了让方法使用场景更广,使用反柯里化,可以把原生方法借出来,让任何对象拥有原生对象的方法。

阅读全文