【问题标题】:Which operator is the fastest in Javascript to check whether 2 values are equal to 0?Javascript 中哪个运算符检查 2 个值是否等于 0 最快?
【发布时间】:2015-10-11 03:58:45
【问题描述】:

以下哪项最快?理由是什么?

(1)if (x == 0 and y == 0)

(2)if ((x | y) == 0)

(3) 其他(请注明。如有)

【问题讨论】:

  • Knuth 应该知道得更好.. ;-)
  • 1.不是有效的 JavaScript。 2. 将失败,例如 var x = 0, y =0.5; (x|y) == 0 - 所以“其他”,例如 if (x===0 && y === 0) - 肯定会是 3 个中最快的,因为它是唯一有效的
  • 如果您想与数字 0 进行比较,而不仅仅是任何 falsy 值,则需要使用 ===
  • 我想你会担心这个,因为这是你代码的一千万次执行的一部分?

标签: javascript optimization bitwise-operators micro-optimization


【解决方案1】:

如果你想检查它们是否完全相同,我可能会使用Strict Equality,即它们也是相同的类型,以防万一。

如果 (x=== 0 && y === 0)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-13
    • 1970-01-01
    • 1970-01-01
    • 2010-11-16
    • 2023-03-28
    相关资源
    最近更新 更多