---
url: /docs/guide/usage/linter/rules/eslint/max-params.md
---

### 作用

强制函数定义中的参数数量不超过最大值，默认为三个。

### 为什么不好？

接受过多参数的函数难以阅读和编写，因为需要记忆每个参数的含义、类型以及它们应该出现的顺序。因此，许多开发者遵循一个约定，限制函数可接受的参数数量。

### 示例

此规则 **错误** 代码示例：

```javascript
function foo(bar, baz, qux, qxx) {
  doSomething();
}
```

```javascript
let foo = (bar, baz, qux, qxx) => {
  doSomething();
};
```

此规则 **正确** 代码示例：

```javascript
function foo(bar, baz, qux) {
  doSomething();
}
```

```javascript
let foo = (bar, baz, qux) => {
  doSomething();
};
```

## 配置

### countThis

type: `"always" | "never" | "except-void"`

此选项控制何时统计 `this` 参数。

* "always": 始终统计 `this`
* "never": 从不统计 `this`
* "except-void": 仅当 `this` 类型不是 `void` 时统计

### countVoidThis

type: `boolean`

default: `false`

`countThis` 的已弃用别名。

例如 `{ "countVoidThis": true }` 意味着函数接受类型为 `void` 的 `this` 参数将被计入最大参数数量。

### max

type: `integer`

default: `3`

函数定义中允许的最大参数数量。

## 如何使用

## 版本

此规则添加于 v0.2.14。

## 参考资料
