javascript 操作符(~、&、|、^、)使用案例


Posted in Javascript onDecember 31, 2014

废话少说,直接上代码

<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中的操作符的用法了呢,有疑问就给我留言吧

Javascript 相关文章推荐
JQuery自定义事件的应用 JQuery最佳实践
Aug 01 Javascript
利用JS判断用户是否上网(连接网络)
Dec 23 Javascript
jQuery使用hide方法隐藏指定元素class样式用法实例
Mar 30 Javascript
简单介绍JavaScript的变量和数据类型
Jun 03 Javascript
js实现简单的计算器功能
Jan 16 Javascript
从零开始学习Node.js系列教程三:图片上传和显示方法示例
Apr 13 Javascript
vue数据操作之点击事件实现num加减功能示例
Jan 19 Javascript
vue悬浮可拖拽悬浮按钮的实例代码
Aug 20 Javascript
JavaScript自动生成 年月范围 选择功能完整示例【基于jQuery插件】
Sep 03 jQuery
生成无限制的微信小程序码的示例代码
Sep 20 Javascript
JS代码简洁方式之函数方法详解
Jul 28 Javascript
浅谈JavaScript 声明提升
Sep 14 Javascript
JavaScript中的逻辑判断符&amp;&amp;、||与!介绍
Dec 31 #Javascript
JavaScript中的eval()函数使用介绍
Dec 31 #Javascript
JSONP跨域GET请求解决Ajax跨域访问问题
Dec 31 #Javascript
JavaScript中的异常捕捉介绍
Dec 31 #Javascript
JavaScript中对象介绍
Dec 31 #Javascript
JavaScript中用字面量创建对象介绍
Dec 31 #Javascript
javascript设计模式之中介者模式Mediator
Dec 30 #Javascript
You might like
让你的WINDOWS同时支持MYSQL4,MYSQL4.1,MYSQL5X
2006/12/06 PHP
简单的php 验证图片生成函数
2009/05/21 PHP
php多个字符串替换成同一个的解决方法
2013/06/18 PHP
destoon切换城市后实现logo旁边显示地区名称的方法
2014/08/21 PHP
php的4种常见运行方式
2015/03/20 PHP
php源码分析之DZX1.5加密解密函数authcode用法
2015/06/17 PHP
PHP数组实例详解
2016/06/26 PHP
使用PHP json_decode可能遇到的坑与解决方法
2017/08/03 PHP
PHP利用Mysql锁解决高并发的方法
2018/09/04 PHP
PHP使用 Imagick 扩展实现图片合成,圆角处理功能示例
2019/09/09 PHP
关于实现代码语法标亮 dp.SyntaxHighlighter
2007/02/02 Javascript
比较全的JS checkbox全选、取消全选、删除功能代码
2008/12/19 Javascript
jQuery弹出层始终垂直居中相对于屏幕或当前窗口
2013/04/01 Javascript
JavaScript中变量声明有var和没var的区别示例介绍
2014/09/15 Javascript
关于JavaScript的变量的数据类型的判断方法
2015/08/14 Javascript
javaScript实现可缩放的显示区效果代码
2015/10/26 Javascript
JAVASCRIPT代码编写俄罗斯方块网页版
2015/11/26 Javascript
jQuery自动完成插件completer附源码下载
2016/01/04 Javascript
JavaScript中eval函数的问题
2016/01/31 Javascript
layer弹窗插件操作方法详解
2017/05/19 Javascript
jquery+css实现简单的图片轮播效果
2017/08/07 jQuery
解析Angular 2+ 样式绑定方式
2018/01/15 Javascript
Vue2 监听属性改变watch的实例代码
2018/08/27 Javascript
微信小程序实现选项卡效果
2018/11/06 Javascript
KnockoutJS数组比较算法实例详解
2019/11/25 Javascript
在python3.5中使用OpenCV的实例讲解
2018/04/02 Python
python查看模块,对象的函数方法
2018/10/16 Python
Apache,wsgi,django 程序部署配置方法详解
2019/07/01 Python
解决Django连接db遇到的问题
2019/08/29 Python
Python控制台实现交互式环境执行
2020/06/09 Python
Python 删除List元素的三种方法remove、pop、del
2020/11/16 Python
python中pop()函数的语法与实例
2020/12/01 Python
Bally巴利英国官网:经典瑞士鞋履、手袋及配饰奢侈品牌
2018/05/07 全球购物
教师现实表现材料
2014/02/14 职场文书
小区的门卫岗位职责
2014/10/01 职场文书
go mod 安装依赖 unkown revision问题的解决方案
2021/05/06 Golang