我无法通过 google 搜索 ~ 运营商以了解更多信息。有人可以用简单的语言向我解释它是什么以及如何使用它吗?
如何: ~ 操作符?
IT技术
javascript
2021-03-08 18:31:28
4个回答
它是按位 NOT。
我见过的最常见的用法是双按位 NOT,用于删除数字的小数部分,例如:
var a = 1.2;
~~a; // 1
为什么不使用Math.floor
?微不足道的原因是它更快并且使用更少的字节。更重要的原因取决于您想如何处理负数。考虑:
var a = -1.2;
Math.floor(a); // -2
~~a; // -1
所以,Math.floor
用于四舍五入,~~
用于砍掉 (不是技术术语)。
我见过的 ~ (波浪号) 的一种用法是为 .indexOf() 获取布尔值。
你可以使用: if(~myArray.indexOf('abc')){ };
取而代之的是: if(myArray.indexOf('abc') > -1){ };
附加信息:波浪号的大奥秘(~)
允许特殊字符的搜索引擎:Symbol Hound
这是一个波浪号,它是按位非运算符。