Eslint参考手册
规则 | Rules
no-new-func
可以使用Function
构造函数在 JavaScrip t中创建函数,例如:
var x = new Function("a", "b", "return a + b");
由于难以调试和阅读这些类型的功能,许多人认为这是一种不好的做法。
规则细节
提出这个错误是为了强调使用不好的做法。通过将一个字符串传递给 Function 构造函数,您需要引擎在调用eval
函数时以很大的方式解析该字符串。
这个规则的错误代码示例:
/*eslint no-new-func: "error"*/
var x = new Function("a", "b", "return a + b");
var x = Function("a", "b", "return a + b");
这个规则的正确代码示例:
/*eslint no-new-func: "error"*/
var x = function (a, b) {
return a + b;
};
何时不使用它
在更高级的情况下,你真的需要使用Function
构造函数。
版本
这个规则在 ESLint 0.0.7中引入。
资源
- Rule source
- Documentation source
规则 | Rules相关

ESLint 是一个代码规范和错误检查工具,有以下几个特性。所有东西都是可以插拔的。你可以调用任意的 rule api 或者 formatter api 去打包或者定义 rule or formatter。任意的 rule 都是独立的。没有特定的 coding style,你可以自己配置。
主页 | https://eslint.org/ |
源码 | https://github.com/eslint/eslint |
发布版本 | 4.12.0 |