天天看點

按位非運算符【~】的使用

位運算 NOT 由否定号(~)表示,它是 ECMAScript 中為數不多的與二進制算術有關的運算符之一。

位運算 NOT 是三步的處理過程:

  1. 把運算數轉換成 32 位數字
  2. 把二進制數轉換成它的二進制反碼(0->1, 1->0)
  3. 把二進制數轉換成浮點數

簡單的了解,對任一數值 x 進行按位非操作的結果為 -(x+1)

那麼, ~~x就為 -(-(x+1) + 1)

例如arr.indexOf(ele) == -1 可以寫成~arr.indexOf(ele),顯得更加簡潔

轉載于:https://www.cnblogs.com/helloseven/p/7804151.html

繼續閱讀