curry
最后更新于:2022-04-02 00:00:53
## curry
+ [link](./curry "Link to this entry.")
+ [source](https://github.com/lodash/lodash/blob/4.5.0正式版/lodash.src.js#L8522 "View in source.")
+ [npm](https://www.npmjs.com/package/lodash.curry "See the npm package.")
```
_.curry(func, [arity=func.length])
```
创建一个函数,该函数接收一个或多个 func 的参数。 当该函数被调用时,如果 func 所需要传递的所有参数都被提供,则直接返回 func 所执行的结果。 否则继续返回该函数并等待接收剩余的参数。 可以使用 func.length 强制需要累积的参数个数。
这个 `_.curry.placeholder` 的值,默认是以 `_` 作为附加部分参数的占位符。
**注意:** 这个方法不会设置 "length" 到 curried 函数上。
### 参数
1. func (Function)
需要 curry 的函数
2. [arity=func.length] (number)
需要提供给 `func` 的参数数量
### 返回值 (Function)
返回 curry 后的函数
### 示例
```
var abc = function(a, b, c) {
return [a, b, c];
};
var curried = _.curry(abc);
curried(1)(2)(3);
// => [1, 2, 3]
curried(1, 2)(3);
// => [1, 2, 3]
curried(1, 2, 3);
// => [1, 2, 3]
// 使用了占位符
curried(1)(_, 3)(2);
// => [1, 2, 3]
```
';