no-restricted-globals
Disallow specified global variables
如果你想通过启用环境来允许一组全局变量的使用,但又想禁止某些全局变量的使用,那么禁止使用特定的全局变量就很有用。 变量,但仍想禁止其中一些变量的使用。
例如,早期的 Internet Explorer 版本将当前的 DOM 事件作为一个全局变量 event
暴露出来,但使用这个变量在很长一段时间内被认为是一种不好的做法。限制不要将确保此变量用于浏览器代码中。
规则细节
这个规则允许你指定你不想在你的应用程序中使用的全局变量名称。
选项
这条规则接受一个字符串列表,其中每个字符串是一个要限制的全局变量。
{
"rules": {
"no-restricted-globals": ["error", "event", "fdescribe"]
}
}
另外,规则也接受对象,其中指定了全局名称和一个自定义信息的选项。
{
"rules": {
"no-restricted-globals": [
"error",
{
"name": "event",
"message": "Use local parameter instead."
},
{
"name": "fdescribe",
"message": "Do not commit fdescribe. Use describe instead."
}
]
}
}
使用 "event"、"fdescribe"
全局变量名的错误示例:
Open in Playground
/*global event, fdescribe*/
/*eslint no-restricted-globals: ["error", "event", "fdescribe"]*/
function onClick() {
console.log(event);
}
fdescribe("foo", function() {
});
使用此规则与 "event"
全局变量名的正确示例:
Open in Playground
/*global event*/
/*eslint no-restricted-globals: ["error", "event"]*/
import event from "event-module";
Open in Playground
/*global event*/
/*eslint no-restricted-globals: ["error", "event"]*/
var event = 1;
使用此规则与 "event"
全局变量名及自定义错误信息的错误示例:
Open in Playground
/*global event*/
/* eslint no-restricted-globals: ["error", { name: "event", message: "Use local parameter instead." }] */
function onClick() {
console.log(event); // Unexpected global variable 'event'. Use local parameter instead.
}
Related Rules
Version
This rule was introduced in ESLint v2.3.0.