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;
};

Wk+Mu7oFIccqpNSe5orR05ZG/BDV40hHIKzF0SoJnVdYB05butXpU4o/7XAMfVczg8h1Hr/k0FB/YPNTDPJp/HeXRjn9uRT8feb7uvJZoP0=

/*eslint no-func-assign: "error"*/

foo = bar;
function foo() {}

UubGaThNGVSAZCEeqgdAAx/QE1uwW/De5ytjPBnKCKqeOsDZpJS0MvQSJQtY0WPI

/*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.
}