全局阴影 属性 'undefined'

Shadowing of global property 'undefined'

任何人都可以给我一些建议来修复我在使用 JSLint 时收到的警告。

我有以下代码:

/* global window, define, module */
(function(global, factory) {
    var Gauge = factory(global);
    if(typeof define === "function" && define.amd) {
      // AMD support
      define(function() {return Gauge;});
    }else if(typeof module === "object" && module.exports) {
      // CommonJS support
      module.exports = Gauge;
    }else {
      // We are probably running in the browser
      global.Gauge = Gauge;
    }
})(typeof window === "undefined" ? this : window, function(global, undefined) {

在最后一行 (typeof window === "undefined" ... 我收到了这个警告:

Line 14: Shadowing of global property 'undefined' no-shadow-restricted-names

如果可能的话,我想去掉这个警告。

您要么想要从 the function(global, undefined) { function 中删除 undefined 参数,要么禁用该特定行上的警告(因为它可以防止 other脚本没有注意到这个警告)。或者,使用构建系统自动将此 UMD header 添加到您的模块中,并且 运行 jslint 仅在源代码中添加。