似乎對「甚至」號這只是工作:爲什麼這個['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