Dav*_*ang 23
这是一个按位NOT.
我见过的最常见的用途是双位NOT,用于删除数字的小数部分,例如:
var a = 1.2;
~~a; // 1
Run Code Online (Sandbox Code Playgroud)
为什么不用Math.floor?微不足道的原因是它更快并且使用更少的字节.更重要的原因取决于您希望如何对待负数.考虑:
var a = -1.2;
Math.floor(a); // -2
~~a; // -1
Run Code Online (Sandbox Code Playgroud)
因此,Math.floor用于四舍五入,~~用于切断 (不是技术术语).
我见过的 ~(波形符)的一种用法是为 .indexOf() 获取布尔值。
你可以使用:if(~myArray.indexOf('abc')){ };
而不是这个:if(myArray.indexOf('abc') > -1){ };
附加信息:波浪号的伟大之谜(~)
允许特殊字符的搜索引擎:Symbol Hound
| 归档时间: |
|
| 查看次数: |
1821 次 |
| 最近记录: |