Fork me on GitHub

JSLint Error Explanations

JSLint will hurt your feelings. It's time to make them better!


Unnecessary semicolon

什么时候会产生这个错误?

JSHint在遇到一个代码块或者函数声明后紧跟着一个分号时会抛出"Unnecessary semicolon"的错误。在下面这个例子中我们错误的将一个分号置于了if语句体以及另一个在函数声明的末尾:

为什么会产生这个错误?

这个错误是为了强调那些毫无意义的代码。代码语句块或函数声明后的分号不是必须的。规范很清晰的告诉了我们分号在哪里是必须的。例如,对比变量声明语句(ES5 §12.2)和代码块的语法(ES5 §12.1):

Block :
    { StatementListopt }
VariableStatement :
    var VariableDeclarationList ;

代码块语句的语法表示最后闭合的大括号后是不需要分号的。这对于函数声明也是一样的。你可以将那些不必要的分号去除来解决这个错误:

在JSHint 1.0.0 及以上版本中,你可可以通过一个特殊的可选语法来忽略任意警告。这个警告的标示符是W032。这就意味着你可以通过/*jshint -W032 */来告诉JSHint不要报告这个警告。


comments powered by Disqus