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 查找新建元素代码
Jul 06 Javascript
js自动下载文件到本地的实现代码
Apr 28 Javascript
利用cookie记住背景颜色示例代码
Nov 04 Javascript
基于BootStrap Metronic开发框架经验小结【五】Bootstrap File Input文件上传插件的用法详解
May 12 Javascript
Vue实现百度下拉提示搜索功能
Jun 21 Javascript
关于预加载InstantClick的问题解决方法
Sep 12 Javascript
解决Vue 项目打包后favicon无法正常显示的问题
Sep 01 Javascript
详解vue 兼容IE报错解决方案
Dec 29 Javascript
详解Vue iview IE浏览器不兼容报错(Iview Bable polyfill)
Jan 07 Javascript
Vue+Element实现表格编辑、删除、以及新增行的最优方法
May 28 Javascript
详解vue beforeRouteEnter 异步获取数据给实例问题
Aug 09 Javascript
详解Angular Karma测试的持续集成实践
Nov 15 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
使用Sphinx对索引进行搜索
2013/06/25 PHP
php上传图片获取路径及给表单字段赋值的方法
2016/01/23 PHP
基于laravel制作APP接口(API)
2016/03/15 PHP
PHP实现的XML操作类【XML Library】
2016/12/29 PHP
PHP实现微信提现(企业付款到零钱)
2019/08/01 PHP
Jquery+JSon 无刷新分页实现代码
2010/04/01 Javascript
获取dom元素那些讨厌的位置封装代码
2010/06/23 Javascript
javascript中创建对象的三种常用方法
2010/12/30 Javascript
前台js对象在后台转化java对象的问题探讨
2013/12/20 Javascript
jquery绑定事件不生效的解决方法
2014/02/11 Javascript
超链接的禁用属性Disabled使用示例
2014/07/31 Javascript
flexslider.js实现移动端轮播
2017/02/05 Javascript
js数组方法reduce经典用法代码分享
2018/01/07 Javascript
vue-prop父组件向子组件进行传值的方法
2018/03/01 Javascript
JS实现深度优先搜索求解两点间最短路径
2019/01/17 Javascript
[04:03]辉夜杯主赛事 12月25日RECAP精彩回顾
2015/12/26 DOTA
用Python的urllib库提交WEB表单
2009/02/24 Python
python BeautifulSoup设置页面编码的方法
2015/04/03 Python
python DataFrame获取行数、列数、索引及第几行第几列的值方法
2018/04/08 Python
Pycharm代码无法复制,无法选中删除,无法编辑的解决方法
2018/10/22 Python
Python基于opencv调用摄像头获取个人图片的实现方法
2019/02/21 Python
Python面向对象程序设计类的封装与继承用法示例
2019/04/12 Python
python实现对象列表根据某个属性排序的方法详解
2019/06/11 Python
python随机模块random使用方法详解
2020/02/14 Python
python opencv实现图片缺陷检测(讲解直方图以及相关系数对比法)
2020/04/07 Python
解决pyqt5异常退出无提示信息的问题
2020/04/08 Python
如何理解python中数字列表
2020/05/29 Python
艺术家策划的室内设计:Curious Egg
2019/03/06 全球购物
应聘教师求职信
2014/07/19 职场文书
学前班学生评语
2014/12/29 职场文书
飞屋环游记观后感
2015/06/08 职场文书
解约证明模板
2015/06/19 职场文书
特种设备安全管理制度
2015/08/06 职场文书
《小乌鸦爱妈妈》教学反思
2016/02/19 职场文书
合作合同协议书
2016/03/21 职场文书
Golang: 内建容器的用法
2021/05/05 Golang