# no-func-assign
不允许重新分配 function
声明
配置文件中的 "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;
}
var a = function hello() {
hello = 123;
};
此规则的错误代码示例,与 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.
}