NOT运算符,反转所有位,整数取反,负数取整
01
—
~
~x 为 对任一数值 x 进行按位非操作的结果为 -(x + 1)
例如:
~5 = -(5+1) = -6
~(-5) = -(-5+1) = 4
~(1.2) = - (1.2+1) = -2
以前使用:
const a = [1, 2, 3, 4, 5]
if (a.indexOf(1) > -1) {
console.log('存在');
}
//5.206ms
使用~的话:
const a = [1, 2, 3, 4, 5]
if (~a.indexOf(1)) {
console.log('存在');
}
//1.186ms
可以达到同样的效果,并且代码看起来简洁不少,同时后面的运算速度快于前面的。
02
—
~~
~~x 为 对任一数值 x 进行按位非操作的结果为 -(-(x+1) + 1)
例如:
(-2.99) = -(-(-2.99+1)+1)= -2
以前:console.log(parseInt(-2.99)); //0.417ms
现在:console.log((-2.99));
//0.327ms
使用NOT运算符的速度高于其他