什么规则管理内联jslint指令

时间:2011-09-21 17:17:07

标签: javascript jslint

我正在尝试将jslint排除尽可能接近错误,以免错误地隐藏任何错误。示例中未使用的参数是函数x中的f2,我只想排除这种情况。

第一个示例,不包括周围的函数,但会隐藏其他错误:

/*jslint unparam: true*/
function test1() {
    var f1 = function (x) {
            alert(x);
        },
        f2 = function (x) {};

    f1(0);
    f2(0);
}
/*jslint unparam: false*/

围绕var语句也有效,但会隐藏f1中的错误:

function test2() {
    /*jslint unparam: true*/
    var f1 = function (x) {
            alert(x);
        },
        f2 = function (x) {};
    /*jslint unparam: false*/

    f1(0);
    f2(0);
}

这个生成错误:“预期标识符,而是看到'/ * jslint'(保留字)。”。

function test3() {
    var f1 = function (x) {
            alert(x);
        },
        /*jslint unparam: true*/
        f2 = function (x) {};
        /*jslint unparam: false*/

    f1(0);
    f2(0);
}

问题是,您在源中的位置是否允许使用jslint指令?

1 个答案:

答案 0 :(得分:6)

不能排除同一var声明中的一个函数。如评论中所述,只有完整的语句才能有jslint指令;结果如下:

function test4() {
    var f1, f2;

    f1 = function (x) {
        alert(x);
    };

    /*jslint unparam: true*/
    f2 = function (x) {};
    /*jslint unparam: false*/

    f1(0);
    f2(0);
}