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 uaMatch源代码
Feb 14 Javascript
Javascript中call与apply的学习笔记
Sep 22 Javascript
JQuery插件ajaxfileupload.js异步上传文件实例
May 19 Javascript
JS禁用页面上所有控件的实现方法(附demo源码下载)
Dec 17 Javascript
通过javascript进行UTF-8编码的实现方法
Jun 27 Javascript
简单的js表格操作
Sep 24 Javascript
JavaScript定义函数_动力节点Java学院整理
Jun 27 Javascript
react-native DatePicker日期选择组件的实现代码
Sep 12 Javascript
浅谈Angular 中何时取消订阅
Nov 22 Javascript
JavaScript使用Math.random()生成简单的验证码
Jan 21 Javascript
Layui 动态禁止select下拉的例子
Sep 03 Javascript
js实现ajax的用户简单登入功能
Jun 18 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
延长phpmyadmin登录时间的方法
2011/02/06 PHP
PHP四种基本排序算法示例
2015/04/09 PHP
php实现通过cookie换肤的方法
2015/07/13 PHP
PHPStrom 新建FTP项目以及在线操作教程
2016/10/16 PHP
php base64 编码与解码实例代码
2017/03/21 PHP
jQuery带箭头提示框tooltips插件集锦
2014/11/17 Javascript
JS制作手机端自适应缩放显示
2015/06/11 Javascript
jquery输入数字随机抽奖特效的简单实现代码
2016/06/10 Javascript
jquery遍历标签中自定义的属性方法
2016/09/17 Javascript
jquery replace方法去空格
2017/05/08 jQuery
Vue组件中prop属性使用说明实例代码详解
2018/05/31 Javascript
微信小程序项目总结之点赞 删除列表 分享功能
2018/06/25 Javascript
angular将html代码输出为内容的实例
2018/09/30 Javascript
JavaScript实现轮播图特效
2020/04/10 Javascript
[02:48]DOTA2英雄基础教程 暗夜魔王
2013/12/12 DOTA
为python设置socket代理的方法
2015/01/14 Python
python通过openpyxl生成Excel文件的方法
2015/05/12 Python
Python实现保证只能运行一个脚本实例
2015/06/24 Python
TensorFlow安装及jupyter notebook配置方法
2017/09/08 Python
Python简单实现查找一个字符串中最长不重复子串的方法
2018/03/26 Python
python安装pil库方法及代码
2019/06/25 Python
python中时间转换datetime和pd.to_datetime详析
2019/08/11 Python
PyQt5多线程刷新界面防假死示例
2019/12/13 Python
TensorFlow自定义损失函数来预测商品销售量
2020/02/05 Python
解决django FileFIELD的编码问题
2020/03/30 Python
python使用多线程+socket实现端口扫描
2020/05/28 Python
Python 里最强的地图绘制神器
2021/03/01 Python
html5教程制作简单画板代码分享
2013/12/04 HTML / CSS
HTML5实现晶莹剔透的雨滴特效
2014/05/14 HTML / CSS
罗技美国官网:Logitech美国
2020/01/22 全球购物
数据库连接池的工作原理
2012/09/26 面试题
英文版销售经理个人求职信
2013/11/20 职场文书
超市客服工作职责
2014/06/11 职场文书
学校实习推荐信
2015/03/27 职场文书
老干部局2015年度工作总结
2015/10/22 职场文书
如何制作自己的原生JavaScript路由
2021/05/05 Javascript