废话少说,直接上代码 复制代码 代码如下: <br /> //javascript操作符<br /> //1、按位非~<br /> var num1=25;//<br /> var num2=~num1;//<br /> alert(num2)<br /> var num3=10;<br /> var num4=~num3;<br /> alert(num4)<br /> var num5=99;<br /> var num6=~num5;<br /> alert(num6)<br /> //说明:相信大家也已经看出来了按位~(NOT)的实现原理:<br /> //以num1、num2为讲解对象<br /> //第一步:先把num1转换成二进制<br /> //第二步:取得num1二进制的反码赋值给num2<br /> //第三步:在把num2换算成十进制数字<br /> //简单说明:就是把操作数的数值的负数减1<br /> //2、按位与 &(AND)<br /> var result=25 & 3;<br /> alert(result);//1<br /> //说明,就是把两数转换成二进制数字,按照一定的规则:<br /> //第一个数值的位 第二个数值的位 结果<br /> // 1 1 1<br /> // 1 0 0<br /> // 0 1 0<br /> // 0 0 0<br /> //简而言之,按位操作符的相对应的位都是1时则返回1,任何一位是0则返回0.<br /> //然后在得到的二进制转换成十进制数字<br /> // 25=0000 0000 0000 0000 0000 0000 0001 1001<br /> // 3= 0000 0000 0000 0000 0000 0000 0000 0011<br /> // ------------------------------------------<br /> // AND=0000 0000 0000 0000 0000 0000 0000 0001<br /> //3、按位或 |(OR)<br /> var result=25 | 3;<br /> alert(result);//27<br /> //说明,就是把两数转换成二进制数字,按照一定的规则:<br /> //第一个数值的位 第二个数值的位 结果<br /> // 1 1 1<br /> // 1 0 1<br /> // 0 1 1<br /> // 0 0 0<br /> //简而言之,按位操作符的相对应的位有一位是1就返回1,而只有在两个位都是0的情况下才返回0.<br /> //然后在得到的二进制转换成十进制数字<br /> // 25=0000 0000 0000 0000 0000 0000 0001 1001<br /> // 3= 0000 0000 0000 0000 0000 0000 0000 0011<br /> // ------------------------------------------<br /> // OR=0000 0000 0000 0000 0000 0000 0001 1011<br /> //4、按位异或 ^(XOR)<br /> var result= 25 ^ 3;<br /> alert(result);//26<br /> //说明,就是把两数转换成二进制数字,按照一定的规则:<br /> //第一个数值的位 第二个数值的位 结果<br /> // 1 1 0<br /> // 1 0 1<br /> // 0 1 1<br /> // 0 0 0<br /> //简而言之,这个操作符(^)在两个数值对应位上只有一个1时才返回1,否则返回0.<br /> //然后在得到的二进制转换成十进制数字<br /> // 25=0000 0000 0000 0000 0000 0000 0001 1001<br /> // 3= 0000 0000 0000 0000 0000 0000 0000 0011<br /> // ------------------------------------------<br /> // XOR=0000 0000 0000 0000 0000 0000 0001 1010<br /> //5、左移(<<)<br /> var oldNum=2;<br /> var newNum=oldNum << 5;<br /> alert(newNum)<br /> //说明,将2(二进制数码10)向左移5位结果就是1000000(二进制)等于64<br /> //注意,左移不会影响操作符的符号位,例如将-2左移5位就是-64<br /> //2=0000 0000 0000 0000 0000 0000 0000 0010<br /> //64=0000 0000 0000 0000 0000 0000 010 00000<br /> //6、有符号右移(>>)<br /> var oldNum=64;<br /> var newNum=oldNum >> 5;<br /> //64=0000 0000 0000 0000 0000 0000 010 00000<br /> //2=0000 0000 0000 0000 0000 0000 0000 0010<br /> alert(newNum)<br /> 注释里解释的很清楚了,小伙伴们是否了解了javascript中的操作符的用法了呢,有疑问就给我留言吧