美文网首页
js中取非运算符与取反运算符

js中取非运算符与取反运算符

作者: 平winK | 来源:发表于2021-09-30 10:51 被阅读0次
    取非

    关于取非运算符: 

    js中0为fasle,所以!0 就为true;

    若判断字符串类型,!str为先判断类型 再对boolean做比较

    按位取反

    按位取反运算符会把原来为0的值,变为1,原来为1的值变为0。

    原因是按位取反将值转换为二进制再进行取反运算,

    例如: 十进制1转换为二进制是0000 0001,十进制2转换为二进制是0000 0010

    将0000 0001按位取反:1111 1110

    将0000 0010按位取反:1111 1101

    取反后第一位是1,为负数。负数转换为原码,第一位符号位不变,其余取反+1,

    得到1000 0010,1000 0011

    再将源码转换成二进制,就得出为-2,-3。

    看起来有些麻烦 ~~~~~~~~~~~~~~

    但是取反运算符在比较 值为-1的情况很好用 简化代码,比如:

    逻辑取反

    可以用于判断值为 -1 就push的场景。

    相关文章

      网友评论

          本文标题:js中取非运算符与取反运算符

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