全球财产“未定义”的阴影

时间:2019-02-18 15:49:48

标签: javascript jslint

任何人都可以给我一些指导,以纠正我收到的有关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

如果可能,我想摆脱此警告。

1 个答案:

答案 0 :(得分:2)

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