美文网首页
js中的~~的妙用

js中的~~的妙用

作者: JsLin_ | 来源:发表于2020-04-20 23:17 被阅读0次

    ~ : 用于对一个二进制操作数逐位进行取反操作
    第 1 步:把运算数转换为 32 位的二进制整数。
    第 2 步:逐位进行取反操作。
    第 3 步:把二进制反码转换为十进制浮点数。
    ok 说了那么多挺费劲的,不过在开发中 有个妙用
    ~~它代表双非按位取反运算符,如果你想使用比Math.floor()更快的方法,那就是它了。需要注意,对于正数,它向下取整;对于负数,向上取整;非数字取值为0,它具体的表现形式为:

    ~~null;      // => 0
    ~~undefined; // => 0
    ~~Infinity;  // => 0
    --NaN;       // => 0
    ~~0;         // => 0
    ~~{};        // => 0
    ~~[];        // => 0
    ~~(1/0);     // => 0
    ~~false;     // => 0
    ~~true;      // => 1
    ~~1.9;       // => 1
    ~~-1.9;      // => -1
    

    可以过滤掉null undefined Nan false 等

    相关文章

      网友评论

          本文标题:js中的~~的妙用

          本文链接:https://www.haomeiwen.com/subject/ljxeihtx.html