源码网,源码论坛,源码之家,商业源码,游戏源码下载,discuz插件,棋牌源码下载,精品源码论坛

 找回密码
 立即注册
楼主: ttx9n

[JavaScript] javascript 操作符(~、&、|、^、<<、>>)使用案例

[复制链接]

7万

主题

861

回帖

32万

积分

论坛元老

Rank: 8Rank: 8

积分
329525
发表于 2018-12-25 05:41:48 | 显示全部楼层 |阅读模式
这篇文章主要介绍了javascript 操作符(~、&、|、^、<<、>>)使用案例,非常的全面,需要的朋友可以参考下

废话少说,直接上代码

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

注释里解释的很清楚了,小伙伴们是否了解了javascript中的操作符的用法了呢,有疑问就给我留言吧

回复

使用道具 举报

0

主题

2万

回帖

115

积分

注册会员

Rank: 2

积分
115
发表于 2022-11-7 11:55:15 | 显示全部楼层
很好,谢谢分享
回复 支持 反对

使用道具 举报

2

主题

2万

回帖

221

积分

中级会员

Rank: 3Rank: 3

积分
221
发表于 2023-7-1 23:42:09 | 显示全部楼层
还不错啊
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-8-24 17:04:14 | 显示全部楼层
1312315458748777
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-9-16 10:44:52 | 显示全部楼层
哈哈哈哈哈哈
回复 支持 反对

使用道具 举报

5

主题

2万

回帖

183

积分

注册会员

Rank: 2

积分
183
发表于 2023-10-9 20:55:02 | 显示全部楼层
刷刷刷刷刷刷刷刷刷刷刷刷刷刷刷
回复 支持 反对

使用道具 举报

1

主题

2万

回帖

307

积分

中级会员

Rank: 3Rank: 3

积分
307
发表于 2023-10-22 16:41:45 | 显示全部楼层
啦啦啦啦啦啦哈哈哈
回复 支持 反对

使用道具 举报

2

主题

2万

回帖

99

积分

注册会员

Rank: 2

积分
99
发表于 2024-3-5 07:11:05 | 显示全部楼层
灌灌灌灌水
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2024-4-9 16:39:57 | 显示全部楼层
1312315458748777
回复 支持 反对

使用道具 举报

16

主题

2万

回帖

174

积分

注册会员

Rank: 2

积分
174
发表于 2024-4-21 11:29:41 | 显示全部楼层
呵呵呵呵呵呵呵a
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

手机版|小黑屋|网站地图|源码论坛 ( 海外版 )

GMT+8, 2024-11-29 19:54 , Processed in 0.076039 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表