要查看英语原文,请勾选“英语”复选框。也可将鼠标指针移到文本上,在弹出窗口中显示英语原文。
翻译
英语

按位取反运算符 (~) (JavaScript)

 

对一个表达式执行位非(求非)运算。


result = ~ expression

result

任何变量。

expression

任何表达式。

所有一元运算符(如 ~ 运算符)都按照下面的规则来计算表达式的值:

  • 如果应用于未定义的表达式或 null 表达式,则会引发一个运行时错误。

  • 将对象转换为字符串。

  • 如果可能,将字符串转换为数字。否则,将引发运行时错误。

  • 布尔值被视为数字(如果为 false,则为 0;如果为 true,则为 1)。

运算符将应用于结果数字。

~ 运算符查看表达式的二进制表示形式的值,并执行位非运算。

表达式中的任何一位为 1,则结果中的该位变为 0。表达式中的任何一位为 0,则结果中的该位变为 1。

下面的示例阐释了位非 (~) 运算符的用法。

var temp = ~5;

所得值为 -6,如下表所示。

表达式

二进制值(2 的补数)

十进制值

5

00000000 00000000 00000000 00000101

5

~5

11111111 11111111 11111111 11111010

-6

要求

在以下文档模式中受支持:Quirks、Internet Explorer 6 标准模式、Internet Explorer 7 标准模式、Internet Explorer 8 标准模式、Internet Explorer 9 标准模式、Internet Explorer 10 标准模式和 Internet Explorer 11 标准模式。此外,也在应用商店应用(Windows 8 和 Windows Phone 8.1)中受支持。请参阅版本信息

显示: