result = ~ 【數字】
所有一元運算子(如 ~ 運算子)都依照下面的規則來計算表達式的值:
1、 如果套用於未定義的表達式或nullull表達式,則會引發一個運行時錯誤。
2、 將物件轉換為字串。
3、 如果可能,將字串轉換為數字。 否則,將引發運行時錯誤。
4、 布林值視為數字(如果為 false,則為 0;如果為 true,則為 1)。
運算子將應用於結果數字。
~ 運算子查看表達式的二進位表示形式的值,並執行位元非運算。
表達式中的任何一位為 1,則結果中的該位元變為 0。 表達式中的任何一位為 0,則結果中的該位元變為 1。
下面的範例闡述了位元非(~) 運算子的用法,其中包含二進位表示十進位負數的,如果不熟悉這個請先看懂《十進位負數轉換為二進位、八進位、十六進位》。
var temp = ~5;
var temp = ~5;
/
/
5 二進位101,補滿32位
000000000000000000000000000101
,所以這是一個負數,將二進制轉換成負數,需要先反碼
0000000000000000000000000000101
之後,再1
000000000000000000000000000001 🎜>alert(temp);
// 彈出【-6】