如何:〜运营商?

我不能谷歌〜运营商了解更多关于它。 有人可以简单地向我解释它是什么和如何使用它?

这是一个按位不 。

我见过的最常见的用法是双位NOT ,用于去除数字的小数部分,例如:

var a = 1.2; ~~a; // 1 

为什么不使用Math.floor ? 微不足道的原因是它更快,使用更less的字节。 更重要的原因取决于你想如何对待负数。 考虑:

 var a = -1.2; Math.floor(a); // -2 ~~a; // -1 

所以,使用Math.floor 四舍五入 ,使用~~ 切断 (不是技术术语)

我看到的〜(Tilde)的一个用法是获取.indexOf()的布尔值。

你可以使用: if(~myArray.indexOf('abc')){ };

而不是: if(myArray.indexOf('abc') > -1){ };

JSFiddle示例


附加信息: 巨大的奥秘(〜)

search引擎允许特殊字符: 符号猎犬

这是一个代字符,它是一个按位运算符。

〜是一个按位运算符。 它将反转构成存储variables值的位。

http://en.wikipedia.org/wiki/Bitwise_operations_in_C#Bitwise_NOT_.22.7E.22_.2F_one.27s_complement_.28unary.29