Javascript JSHint忽略`!函数(){/*…*/}()`pattern

Javascript JSHint忽略`!函数(){/*…*/}()`pattern,javascript,jshint,Javascript,Jshint,我如何配置JSHint来忽略JSHint ignore!函数(){/*…*/}()模式。目前,它向我发出警告,告诉我它需要一个语句或作业。我想这是由于!函数将函数转换为函数表达式,而函数表达式将不起作用。我知道我可以变量垃圾=!函数…但我不想更改源代码来取悦JS Hint,我想告诉JS Hint,使用运算符将函数强制转换为表达式是可以的。您可以禁用它。将其放在文件的开头,或将expr选项添加到.jshintrc配置中 /*jshint expr:true */ 此选项允许任何原始表达式,例如:

我如何配置JSHint来忽略JSHint ignore
!函数(){/*…*/}()
模式。目前,它向我发出警告,告诉我它需要一个语句或作业。我想这是由于
!函数
将函数转换为函数表达式,而函数表达式将不起作用。我知道我可以<代码>变量垃圾=!函数…但我不想更改源代码来取悦JS Hint,我想告诉JS Hint,使用运算符将函数强制转换为表达式是可以的。

您可以禁用它。将其放在文件的开头,或将
expr
选项添加到
.jshintrc
配置中

/*jshint expr:true */
此选项允许任何原始表达式,例如:

!function(){}();
a || b();
a ? b() : c();
您可以这样写以避免警告:

(function(){}());
if (!a) b();
if (a) {
  b();
} else {
  c();
}

/*jshint expr:true*/
谢谢@elclars,它可以工作-但是,我更喜欢一个不需要修改源代码的解决方案-你知道一种方法吗?好的@elclars,我把它放在我的配置文件中,它可以工作-谢谢。我担心副作用-还有什么其他类型的表达式警告会被禁止?检查我的答案,看看这是否有帮助。我还会在自动执行函数前加一个分号,以防止它与前面的语句混合,特别是如果js文件与构建脚本中的任意库连接在一起,等等。。。