【发布时间】: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