1. var num = '01';
    2. alert(~~num);

    :::danger 只支持32位以内的数据,超过范围就会得出错误的结果
    遇到非数值会返回0
    小数点会被直接删掉直接返回整数

    :::

    1. ~~2147483648.1//-2147483648
    2. ~~'1111aa'// 0
    3. ~~'1111.999'// 1111
    4. ~~'-1111.999'// -1111

    ~是js里的按位取反操作符 , ~~ 就是执行两次按位取反,其实就是保持原值,但是注意虽然是原值,但是对布尔型变量执行这个操作,会转化成相应的数值型变量,也就是
    true === 1,false === 0。 ~~”” == 0 ~~[] == 0 类似Number()

    另外可以也实用 |0 来实现

    1. 23.4|0 // 23
    2. -19.6|0 // 19