我试图保持jslint排除尽可能接近错误,以免错误地隐藏任何错误.示例中未使用的参数在x函数中f2,我只想排除这种情况.
第一个示例,不包括周围的函数,但会隐藏其他错误,如果有的话:
/*jslint unparam: true*/
function test1() {
var f1 = function (x) {
alert(x);
},
f2 = function (x) {};
f1(0);
f2(0);
}
/*jslint unparam: false*/
Run Code Online (Sandbox Code Playgroud)
围绕var语句也有效,但会隐藏错误f1:
function test2() {
/*jslint unparam: true*/
var f1 = function (x) {
alert(x);
},
f2 = function (x) {};
/*jslint unparam: false*/
f1(0);
f2(0);
}
Run Code Online (Sandbox Code Playgroud)
这个产生一个错误:"预期一个标识符,而是看到'/*jslint'(一个保留字)."
function test3() {
var f1 = function (x) {
alert(x);
},
/*jslint unparam: true*/
f2 = function (x) {};
/*jslint unparam: false*/
f1(0);
f2(0);
}
Run Code Online (Sandbox Code Playgroud)
问题是,你在源中的哪个位置允许使用jslint指令?
只能排除同一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);
}
Run Code Online (Sandbox Code Playgroud)