阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      JS ~ 按位非 运算符

      对每一个比特位执行非(NOT)操作。NOT a 结果为 a 的反转(即反码)。非操作的真值表:

      aNOT a
      01
      10
       9 (base 10) = 00000000000000000000000000001001 (base 2)
                     --------------------------------
      ~9 (base 10) = 11111111111111111111111111110110 (base 2) = -10 (base 10)
      

      对任一数值 x 进行按位非操作的结果为 -(x + 1)。例如,~5 结果为 -6。

      与 indexOf 一起使用示例:

      var str = 'rawr';
      var searchFor = 'a';
      
      // 这是 if (-1*str.indexOf('a') <= 0) 条件判断的另一种方法
      if (~str.indexOf(searchFor)) {
        // searchFor 包含在字符串中
      } else {
        // searchFor 不包含在字符串中
      }
      
      // (~str.indexOf(searchFor))的返回值
      // r == -1
      // a == -2
      // w == -3
      
      目录
      本文目录
      目录