Eslint
规则 | Rules

no-func-assign

禁止重新分配function声明( no-func-assign )

"extends": "eslint:recommended"配置文件中的属性启用此规则。

JavaScript 函数可以写成 FunctionDeclaration function foo() { ... }或 FunctionExpression var foo = function() { ... };。尽管 JavaScript 解释器可以容忍它,但覆盖/重新分配写为 FunctionDeclaration 的函数常常表示有错误或问题。

function foo() {} foo = bar;

规则细节

此规则不允许重新分配function声明。

此规则的错误代码示例:

/*eslint no-func-assign: "error"*/ function foo() {} foo = bar; function foo() { foo = bar; }

这一规则的不正确代码的例子,不像在 JSHint 相应规则的代码:

/*eslint no-func-assign: "error"*/ foo = bar; function foo() {}

此规则的正确代码示例:

/*eslint no-func-assign: "error"*/ var foo = function () {} foo = bar; function foo(foo) { // `foo` is shadowed. foo = bar; } function foo() { var foo = bar; // `foo` is shadowed. }

版本

该规则在 ESLint 0.0.9 中引入。

资源