【发布时间】:2015-04-23 13:24:21
【问题描述】:
Jslint 在我的 js 库中遇到了一些奇怪的错误。
if (d.r.test(this.user)) {
return !0;
}
Jslint 错误
奇怪的情况
return !0;
我不知道代码有什么问题,我使用return !0 而不是return true,我相信return !0 会比return true 执行得更好。
代码有什么问题以及如何禁用 jslint 中的检查?
附注:How to disable the Weird Condition check in JSLint? 我在问这个问题之前阅读了这个问题,但它是不同的,并且建议的解决方案不起作用。
【问题讨论】:
-
表现更好是什么意思?
-
按照我的说法 - 它不应该被标记为重复,因为建议的解决方案是针对 JSHint。
-
刚刚,这里是Atwood on "The Sad Tragedy of Micro-Optimization Theater" from 2009。这是我最喜欢的读物之一。也就是说,在这种情况下,作为@bhspencer says,可读代码>>>这里有任何收获。 ;^)
-
lol 在“表现更好”是这个代码在这种情况下的一个很好的理由。首先,您引用的 jsperf 正在做一些不同的事情,翻转布尔值与减去整数:您的代码只需要返回一个 立即值。其次,翻转值是一种操作,而不是布尔值(忽略优化),例如,jsperf.com/true-vs-not0(猜猜哪个性能更好?不是操作)。
标签: javascript jslint