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 相关文章推荐
js字符编码函数区别分析
Dec 28 Javascript
JS获取URL中参数值(QueryString)的4种方法分享
Apr 12 Javascript
jQuery中的read和JavaScript中的onload函数的区别
Aug 27 Javascript
jQuery实现判断滚动条到底部
Jun 23 Javascript
浏览器环境下JavaScript脚本加载与执行探析之defer与async特性
Jan 14 Javascript
js实现目录链接,内容跟着目录滚动显示的简单实例
Oct 15 Javascript
javascript 产生随机数的几种方法总结
Sep 26 Javascript
jquery中ajax请求后台数据成功后既不执行success也不执行error的完美解决方法
Dec 24 jQuery
Vue修改mint-ui默认样式的方法
Feb 03 Javascript
vue实现的网易云音乐在线播放和下载功能案例
Feb 18 Javascript
Vue Element校验validate的实例
Sep 21 Javascript
openlayers实现地图弹窗
Sep 25 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
Protoss建筑一览
2020/03/14 星际争霸
dedecms中常见问题修改方法总结
2007/03/21 PHP
xss防御之php利用httponly防xss攻击
2014/03/21 PHP
php的GD库imagettftext函数解决中文乱码问题
2015/01/24 PHP
详解Grunt插件之LiveReload实现页面自动刷新(两种方案)
2015/07/31 PHP
PHP数组的定义、初始化和数组元素的显示实现代码
2016/11/05 PHP
PHP实现微信退款的方法示例
2019/03/26 PHP
从JavaScript的函数重名看其初始化方式
2007/03/08 Javascript
javascript生成/解析dom的CDATA类型的字段的代码
2007/04/22 Javascript
node.js中的require使用详解
2014/12/15 Javascript
javascript倒计时效果实现
2015/11/12 Javascript
Bootstrap学习笔记之css样式设计(2)
2016/06/07 Javascript
JS判断输入字符串长度实例代码(汉字算两个字符,字母数字算一个)
2016/08/02 Javascript
javaScript嗅探执行神器-sniffer.js
2017/02/14 Javascript
Node.js中看JavaScript的引用
2017/04/22 Javascript
vue-vuex中使用commit提交mutation来修改state的方法详解
2018/09/16 Javascript
js实现九宫格抽奖
2020/03/19 Javascript
Python获取文件ssdeep值的方法
2014/10/05 Python
python读取和保存视频文件
2018/04/16 Python
Django项目开发中cookies和session的常用操作分析
2018/07/03 Python
Django配置MySQL数据库的完整步骤
2019/09/07 Python
wxPython色环电阻计算器
2019/11/18 Python
django formset实现数据表的批量操作的示例代码
2019/12/06 Python
django框架两个使用模板实例
2019/12/11 Python
Pandas直接读取sql脚本的方法
2021/01/21 Python
Python用requests库爬取返回为空的解决办法
2021/02/21 Python
CSS3模拟IOS滑动开关效果
2016/09/28 HTML / CSS
Dune London官网:英国著名奢华鞋履品牌
2017/11/30 全球购物
墨西哥巴士车票在线购买:ClickBus
2018/03/27 全球购物
美国最大的购物网站:Amazon.com(亚马逊美国)
2020/05/23 全球购物
护士试用期自我鉴定
2014/02/08 职场文书
电子商务助理求职自荐信
2014/04/10 职场文书
《雪儿》教学反思
2014/04/17 职场文书
群众路线教育实践活动的心得体会
2014/09/03 职场文书
2014年乡镇工会工作总结
2014/12/02 职场文书
新手入门Jvm-- JVM对象创建与内存分配机制
2021/06/18 Java/Android