我已经查看了许多关于通过本地包装函数从 jslint 中摆脱(必要的)未使用参数错误的 stackoverflow 答案,如下所示:
/*jslint unparam: true*/
//my function with unused parameters
/*jslint unparam: false*/
但是,当我尝试这样做时,我会从 JSLint 收到以下错误:
Unexpected '/*jslint'.
我已经尝试了它周围的各种空白区域,例如:
/* jslint unparam: true */
/*jslint unparam : true */
/* jslint unparam: true*/
但是,如果这样的更改有任何影响,那就是根本看不到 jslint inline 指令,而是保留了未使用的错误。
经过一番玩弄之后,我怀疑问题是 JSLint 在处理过程中处于其他模式。有问题的函数位于自定义类声明中,类似于以下内容:
var myClass = CreateClass({
Constructor : function myClass()
{
//initialize
},
Parent : null,
Definition :
{
//member functions that will be copied into prototype,
// be added to custom chaining functionality, etc go here
/*jslint unparam: true*/
doSomething : function doSomething(inUnusedInterfaceParam, inUsedParam)
{
//do something with inUsedParam, but NOT inUnusedInterfaceParam
}
/*jslint unparam: false*/
}
});
而且无论我如何移动指令,它都不起作用。例如,我还尝试了以下变体:
doSomething : /*jslint unparam: true*/
function doSomething(inUnusedInterfaceParam, inUsedParam)
{
//do something with inUsedParam, but NOT inUnusedInterfaceParam
}
/*jslint unparam: false*/
这个问题只是导致我对 JSLint 产生真正爱/恨的众多问题之一。我可能会在某个时候将它从我的构建中删除以支持 JSHint,但我还不想花时间去做那件事。同时,有没有办法让 jslint 在这里闭嘴?什么情况会导致 jslint 抱怨它自己的内联指令,就像它目前正在做的那样?