【问题标题】:Disable weird condition check in jslint在 jslint 中禁用奇怪的条件检查
【发布时间】: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


【解决方案1】:

您收到“奇怪的情况”警告,因为您的代码不是惯用的。其他程序员可能会感到困惑,因此 JSLint 警告您不要这样做。

JSLint 的预期目标之一是阻止有问题的编程风格。即仅仅因为你可以在 JavaScript 中做某事并不意味着它是一个好主意。这是 JSLint 的作者认为应该不鼓励这种编程风格的案例之一。

无法在 JSLint 中关闭此警告。我在这里尝试了http://www.jslint.com/ 并打开了所有的容忍选项,但仍然收到警告。防止警告的唯一方法是将返回值更改为布尔值或停止使用 JSLint。

【讨论】:

猜你喜欢
  • 2017-07-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-22
  • 2019-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多