如何传递jslint并将全局变量传递给我的IIFE?

时间:2016-09-25 17:46:51

标签: javascript jslint

jslint不喜欢this

}(this));

但是我将全局变量传递给在客户端和服务器上运行的IIFE。

如何更改?

我想传递没有选项设置的jslint。

1 个答案:

答案 0 :(得分:1)

它需要跳过相当多的箍,但你可以定义这个函数,它传递JSLint并返回对全局对象的引用:

function getGlobal() {
    // just creating a function here so that we can get at the Function constructor
    // via noop.constructor
    var noop = function () {
        // dummy statements so the linter doesn't complain about an 
        // empty block or unused variables
        var a = null;
        return a;
    };

    return noop.constructor("return this")();
}

请注意,此函数本身需要在全局范围内定义。您可以定义它并在IIFE中调用它。