這次帶給大家JS中的位元非(~)的使用技巧,使用JS中按位非(~)的注意事項有哪些,下面就是實戰案例,一起來看一下。
位元非運算子由一個波浪線(~)表示,執行位元非的結果就是傳回數值的反碼
現在讓我來看幾個例子
範例1
console.log(4); console.log(~4); console.log(~~4);
#範例2
console.log(4.9.toString(2)); console.log(~4.9); console.log(~~4.9);
範例3
console.log(-4.1.toString(2)); console.log(~-4.1); console.log(~~-4.1);
透過上面的例子我們可以知道對於整數,位元非就是運算元的負值減1.
但是對於浮點數就比較麻煩了,操作浮點數時,會直接捨去小數部分,再取負值減1
利用這點我們可以使用~~來取代Math.floor();
例如我們常求一個陣列的中點,就可以直接~~(arr.length/2),是不是比Math.floor()來的更方便呢?
此外|0操作也可以達到和~~類似的效果,例如(arr.length/2)|0
再補充個小知識:
console.log(~~NaN);//0console.log(NaN|0);//0
相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!
建議閱讀:
以上是JS中的位元非(~)的使用技巧的詳細內容。更多資訊請關注PHP中文網其他相關文章!