2
嘿,我剛纔看到這個快捷鍵被用在一些JavaScript中。Javascript管道在數學中得到Math.floor而不使用Math.floor
(9 + 2)/2|0; // results in 5
當你做正常的數學運算結果爲5.5。
頂級表達式如何導致Math.floor((9 + 2)/ 2)? 有人可以指出管道正在做什麼,我不明白快捷方式。
嘿,我剛纔看到這個快捷鍵被用在一些JavaScript中。Javascript管道在數學中得到Math.floor而不使用Math.floor
(9 + 2)/2|0; // results in 5
當你做正常的數學運算結果爲5.5。
頂級表達式如何導致Math.floor((9 + 2)/ 2)? 有人可以指出管道正在做什麼,我不明白快捷方式。
單管|是BitWise OR。
按位運算符只允許整數值,所以在小數點後丟棄值。
Bitwise OR
運營商|採用2位模式,並對每對相應位執行或操作。
下面的例子將解釋它。
1010
1100
----------bitwise or
1110
(9+2)/2
結果是在JavaScript5.5
Or
操作。對於JavaScript,按位操作不直接在64位表示上工作。而是將該值轉換爲32位整數,表示5.5
至5
,則5|0
的結果爲5
。
這是一個按位「或」 –
看一看這個問題:http://stackoverflow.com/questions/7487977/using-bitwise-or-0-to-floor-a-number – Calum
[清單JS運營商......](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Expressions_and_Operators) – nnnnnn