似乎对“甚至”号这只是工作:为什么这个['3'| 0 + 1]按位不起作用?
"8"|0 + 1 // 9
"3"|0 + 1 // 3
("3"|0) + 1 // 4
但"3"|0
转换为整数3
。
那么这里发生了什么?
为什么第二个例子在JS中像这样行事?
似乎对“甚至”号这只是工作:为什么这个['3'| 0 + 1]按位不起作用?
"8"|0 + 1 // 9
"3"|0 + 1 // 3
("3"|0) + 1 // 4
但"3"|0
转换为整数3
。
那么这里发生了什么?
为什么第二个例子在JS中像这样行事?
+
比|
具有更高的优先级,因此您需要放入括号以获得所需的评估顺序。
https://developer.mozilla.org/en/JavaScript/Reference/operators/operator_precedence – Oded 2011-06-12 20:10:06
@Oded:显然我在读的https://developer.mozilla .org/en/JavaScript/Reference/operators/bitwise_operators,而不是仅转到您提到的页面。甜! 10x – vsync 2011-06-12 20:19:24