JSHint在遇到一个代码块或者函数声明后紧跟着一个分号时会抛出"Unnecessary semicolon"的错误。在下面这个例子中我们错误的将一个分号置于了if语句体以及另一个在函数声明的末尾:
这个错误是为了强调那些毫无意义的代码。代码语句块或函数声明后的分号不是必须的。规范很清晰的告诉了我们分号在哪里是必须的。例如,对比变量声明语句(ES5 §12.2)和代码块的语法(ES5 §12.1):
Block :
{ StatementListopt }
VariableStatement :
var VariableDeclarationList ;
代码块语句的语法表示最后闭合的大括号后是不需要分号的。这对于函数声明也是一样的。你可以将那些不必要的分号去除来解决这个错误:
在JSHint 1.0.0 及以上版本中,你可可以通过一个特殊的可选语法来忽略任意警告。这个警告的标示符是W032。这就意味着你可以通过/*jshint -W032 */
来告诉JSHint不要报告这个警告。