使用新的JSLint,我收到以下代码的错误:
意外'。'。
return (elem || document).querySelector(selector);
这看起来很奇怪,因为我无法想象为什么(something || something-else).method-call
符号会不太理想。
有谁知道为什么新的JSLint会抛出这个错误(当旧的JSLint从未这样做时)? 感谢。
答案 0 :(得分:6)
这可能是新版本中的错误。如果您将其更改为:
var source = elem || document;
return source.querySelector(selector);
所以要么它是一个错误,要么Crockford要求你将||
表达式排除在外。 (其中有一个论点:例如,如果你在调试器中单步执行它,它会更容易看到将要使用的内容。但是,如果你开始失败,那么大量的代码会开始失败。这是一个新规则是巨大 ......)
JSLint有很多替代品,包括JSHint。它最初(一个很久时间之前)是JSLint的一个分支,但它已经看到了大量的开发并且以自己的方式发展。