当JSLint遇到一个左右两侧非常“类似”的对比或者表达式两边一个是数字而另一个是字符串时,会抛出“Weird relation”的错误。在下面的例子中我们尝试着比较x和其本身:
这个错误用来强调潜在的、可能会让人感到困惑的以及一些无意义的代码。事实上,几乎没有一种情景是需要将变量(或其他内容)与之本身相对比的。
但是对这种比较方式,还是有一种用例可以适用的。由于NaN这个特殊的Number值永远和其自身不相等,你可以用一种自我比较的方式来检测是否有值等于NaN。以下这个例子中,除非值为NaN,都会返回true。
如果你在那些特殊的情况下收到了这样的错误,你可以忽略这个错误、让你的脚本无法通过JSLint的测试,或者你可以使用内置的isNaN函数替代。以下是上述代码重写后的版本: