~ 是JavaScript中的操作符,按位非,~~经常用来进行取整和类型转换。
因为位运算的操作值要求是整数,其结果也是整数,所以经过位运算的都会自动变成整数。这个方法可以在一些特殊的情况使用比较方便
一、~~ 将字符串转换为整型:
var str = '11111111';
console.log(typeof(str));
console.log(typeof(~~str));
成功将字符串转换为了数字
二、使用 ~~ 去掉一个数的小数部分:
这个方法与Math.floor()不同,它只是单纯的去掉小数部分,无论正负都不会改变整数部分。
var num1 = 4.344;
var num2 = -4.344;
console.log("Math.floor(4.344): " + Math.floor(num1) + "\n" + "Math.floor(-4.344): " + Math.floor(num2));
console.log("~~4.344: " + ~~num1 + "\n" + "~~-4.344: " + ~~num2);