JS位运算符

一. 按位与运算符(&)

  一般套路:判别一个数字的奇偶性,

     例如:2&1 =>0

        3&1 =>1

     结果为0即为偶数,结果为1即为基数

二. 按位或运算符(|)

  一般套路:向下取整 类似于Math.floor()

     例如:3.2|0 =>3

        3.9|0 =>3

三. 按位非运算符(~)

  改变运算符号并且减一

    例如:~2016 => -2017

       ~-2016 => 2015

    扩展:~~: 利用符号进行的类型转换,转换成数字类型

    例如:~~true =>1

       ~~undefined =>0

       

四.按位异或运算符(^)

一般套路:变量数据交换

   var a=1,b=2;

  a^=b;b^=a;a^=b;  => a=2,b=1;

五. 左移运算符(<<)

  例如:a<<b,将a左移b位相当于a乘以2的b次方

六. 右移运算符(>>)

  例如:a>>b,将a右移b位相当于a除以2的b次方

 

原文地址:https://www.cnblogs.com/churjan/p/6295041.html