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 相关文章推荐
Firefox window.close()的使用注意事项
Apr 11 Javascript
JQuery 返回布尔值Is()条件判断方法代码
May 14 Javascript
javascript实现div浮动在网页最顶上并带关闭按钮效果实例
Aug 13 Javascript
javascript判断css3动画结束 css3动画结束的回调函数
Mar 10 Javascript
jQuery事件委托之Safari
Jul 05 Javascript
seajs学习教程之基础篇
Oct 20 Javascript
js for循环倒序输出数组元素的实例
Mar 01 Javascript
jquery版轮播图效果和extend扩展
Jul 18 jQuery
js getBoundingClientRect使用方法详解
Jul 17 Javascript
webpack常用构建优化策略小结
Nov 21 Javascript
javascript设计模式 ? 工厂模式原理与应用实例分析
Apr 09 Javascript
JavaScript实现网页下拉菜单效果
Nov 20 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
PHP--用万网的接口实现域名查询功能
2012/12/13 PHP
如何给phpcms v9增加类似于phpcms 2008中的关键词表
2013/07/01 PHP
浅析ThinkPHP缓存之快速缓存(F方法)和动态缓存(S方法)(日常整理)
2015/10/26 PHP
PHP常用工具类大全附全部代码下载
2015/12/07 PHP
Laravel中为什么不使用blpop取队列详析
2018/08/01 PHP
JavaScript Event学习第八章 事件的顺序
2010/02/07 Javascript
js弹出层(jQuery插件形式附带reLoad功能)
2013/04/12 Javascript
js获取元素到文档区域document的(横向、纵向)坐标的两种方法
2013/05/17 Javascript
JS获得URL超链接的参数值实例代码
2013/06/21 Javascript
JS实现QQ图片一闪一闪的效果小例子
2013/07/31 Javascript
checkbox设置复选框的只读效果不让用户勾选
2013/08/12 Javascript
JS教程:window.location使用方法的区别介绍
2013/10/04 Javascript
多种方法实现load加载完成后把图片一次性显示出来
2014/02/19 Javascript
鼠标拖拽移动子窗体的JS实现
2014/02/25 Javascript
javascript修改IMG标签的src问题
2014/03/28 Javascript
javascript创建函数的20种方式汇总
2015/06/23 Javascript
完美实现js选项卡切换效果(一)
2017/03/08 Javascript
JS中把函数作为另一函数的参数传递方法(总结)
2017/06/28 Javascript
js学习心得_一个简单的动画库封装tween.js
2017/07/14 Javascript
JS实现匀速与减速缓慢运动的动画效果封装示例
2018/08/27 Javascript
详解vuex commit保存数据技巧
2018/12/25 Javascript
js实现的订阅发布者模式简单示例
2020/03/14 Javascript
Vue的自定义组件不能使用click方法的解决
2020/07/28 Javascript
[01:00:54]TI4正赛第二日开场
2014/07/20 DOTA
Python天气预报采集器实现代码(网页爬虫)
2012/10/07 Python
python实现报表自动化详解
2017/11/16 Python
浅析Python的命名空间与作用域
2020/11/25 Python
python 列表推导和生成器表达式的使用
2021/02/01 Python
英国灯具和灯泡网上商店:Lights.co.uk
2018/02/02 全球购物
迪卡侬比利时官网:Decathlon比利时
2019/12/28 全球购物
优秀英语专业毕业生求职信
2013/11/23 职场文书
奥巴马当选演讲稿
2014/09/10 职场文书
法人代表证明书格式
2014/10/01 职场文书
实习护士自荐信
2015/03/25 职场文书
中学教师教学工作总结
2015/08/13 职场文书
pytorch中的model.eval()和BN层的使用
2021/05/22 Python