# 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.
}
Last Updated: 5/13/2023, 8:55:38 PM