type
Post
status
Published
date
Oct 8, 2023
slug
curry_function
summary
函数柯里化是一种关于函数的高阶技术,它不仅用于JavaScript,还被用于其他编程语言。 柯里化是一种函数的转换,它是指将一个函数从可调用的f(a, b, c)变为f(a)(b)(c) 。柯里化不会调用函数,而是返回一个对其进行转换后的版本。
tags
思考
开发
前端
category
学习思考
icon
password
Property
Oct 27, 2023 06:27 AM
函数柯里化是一种关于函数的高阶技术,它不仅用于JavaScript,还被用于其他编程语言。
柯里化是一种函数的转换,它是指将一个函数从可调用的f(a, b, c)变为f(a)(b)(c) 。柯里化不会调用函数,而是返回一个对其进行转换后的版本。
对于一个多参数的函数,实现一个柯里化:
function curry(func) { return function curried(...args) { if (args.length >= func.length) { return func.apply(this, args) } else { return function (...args2) { return curried.apply(this, args.concat(args2)) } } } } function sum(a, b, c) { return a + b + c } const curriedSum = curry(sum) console.log(sum(1, 2, 3)) console.log(curriedSum(1)(2)) console.log(curriedSum(1)) console.log(curriedSum(1)(2)(3))
 
ROS基本概念CSS选择器优先级