函数柯里化
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-prcCwAQa-1658851470471)(C:\Users\李大圆\AppData\Roaming\Typora\typora-user-images\image-20220726234639921.png)](https://img-blog.csdnimg.cn/fb19f57e3b7749319ede8771038152bf.png)
·
理解:一个函数 接收多个多种不同参数的 返回一个接收剩余参数的新函数去执行 让它符合单一职责
一个简单例子去了解它
/*
* @Description:
* @Author: 李思甜
* @Date: 2022-07-26 23:52:12
* @LastEditTime: 2022-07-27 00:01:09
* @LastEditors: 李思甜
*/
// 传入三个参数相加 接收三个参数的函数
function add (x, y, z) {
return x + y + z
}
// 更改成一次接收一个参数的函数
function sum (x) {
return function (y) {
return function (z) {
return x + y + z
}
}
}
// sum简写
var sum1 = x => y => z => x + y + z
console.log('add', add(1, 2, 3))
console.log('sum', sum(1)(2)(3))
console.log('sum', sum1(1)(2)(3))
结果