> For the complete documentation index, see [llms.txt](https://lodash.shujuwajue.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://lodash.shujuwajue.com/function/curry.md).

# \_.curry

**语法：**

```javascript
_.curry(func, [arity=func.length])
```

**源代码链接：**[source](https://github.com/lodash/lodash/blob/4.17.10/lodash.js#L10198)

**npm包链接：**[npm package](https://www.npmjs.com/package/lodash.curry)

**描述：**

创建一个函数，该函数接收`func`的参数，要么调用`func`返回的结果，如果`func`所需参数已经提供，则直接返回`func`所执行的结果。或返回一个函数，接受余下的`func`参数的函数，可以使用`func.length`强制需要累积的参数个数。

`_.curry.placeholder`值，默认是以`_`作为附加部分参数的占位符。

> **Note:**&#x8FD9;个方法不会设置 curried 函数的 "length" 属性。

**开始版本：**&#x32;.0.0

**参数：**

* `func (Function)`: 用来柯里化（curry）的函数。
* `[arity=func.length] (number)`: 需要提供给 func 的参数数量。

**返回值：**

* `(Function)`: 返回新的柯里化（curry）函数。

**例子：**

```javascript
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 with placeholders.
curried(1)(_, 3)(2);
// => [1, 2, 3]
```
