新的JSLint:"意想不到的'。'。"解释

时间:2015-07-04 17:50:10

标签: javascript jslint

使用新的JSLint,我收到以下代码的错误:

  

意外'。'。

return (elem || document).querySelector(selector);

这看起来很奇怪,因为我无法想象为什么(something || something-else).method-call符号会不太理想。

有谁知道为什么新的JSLint会抛出这个错误(当旧的JSLint从未这样做时)? 感谢。

1 个答案:

答案 0 :(得分:6)

这可能是新版本中的错误。如果您将其更改为:

var source = elem || document;
return source.querySelector(selector);

所以要么它是一个错误,要么Crockford要求你将||表达式排除在外。 (其中有一个论点:例如,如果你在调试器中单步执行它,它会更容易看到将要使用的内容。但是,如果你开始失败,那么大量的代码会开始失败。这是一个新规则是巨大 ......)

JSLint有很多替代品,包括JSHint。它最初(一个很久时间之前)是JSLint的一个分支,但它已经看到了大量的开发并且以自己的方式发展。