JSHint:允许使用ASI的空返回语句

时间:2013-05-16 09:18:58

标签: javascript jshint

在我的JavaScript中,如果不满足某些条件,我想提前退出函数,如下例所示。

(function () {
  var something = false

  if (!something) return

  doMoreStuff()
}())

我在偏好中省略了分号,它运行得很好(上面的代码片段按预期工作)。

JSHint不断给我错误Line breaking error 'return'。虽然这可以通过在return语句后加一个分号来解决,但我宁愿将分号保留在我的脚本之外。

我是否可以设置任何选项以允许在没有分号的行末尾返回空白?

2 个答案:

答案 0 :(得分:3)

  

我是否可以设置任何选项以允许在没有分号的行末尾返回空白?

不,没有。这是JSHint code for handling return statements

stmt("return", function () {
    if (this.line === state.tokens.next.line) {
        //...   
    } else {
        nolinebreak(this); // always warn (Line breaking error)
    }
    // ...
})

如果return语句后面没有分号或值,它将始终进入else条件并始终发出警告。

答案 1 :(得分:1)

也许您应该使用return nullreturn undefined