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 相关文章推荐
面向对象的javascript(笔记)
Oct 06 Javascript
向大师们学习Javascript(视频与PPT)
Dec 27 Javascript
很棒的学习jQuery的12个网站推荐
Apr 28 Javascript
js中的eventType事件及其浏览器支持性介绍
Nov 29 Javascript
JavaScript面向对象编程入门教程
Apr 16 Javascript
JQuery中属性过滤选择器用法实例分析
May 18 Javascript
基于javascript实现图片预加载
Jan 05 Javascript
ES6深入理解之“let”能替代”var“吗?
Jun 28 Javascript
jQuery常用选择器详解
Jul 17 jQuery
详解angularjs的数组传参方式的简单实现
Jul 28 Javascript
webpack配置sass模块的加载的方法
Jul 30 Javascript
原来JS还可以这样拆箱转换详解
Feb 01 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
单位速度在实战中的运用
2020/03/04 星际争霸
杏林同学录(六)
2006/10/09 PHP
遍历指定目录下的所有目录和文件的php代码
2011/11/27 PHP
利用PHP生成静态HTML文档的原理
2012/10/29 PHP
PHP函数preg_match_all正则表达式的基本使用详细解析
2013/08/31 PHP
thinkphp5.1框架模板布局与模板继承用法分析
2019/07/19 PHP
php时间戳转换代码详解
2019/08/04 PHP
PHPstorm启用自动换行的方法详解(IDE)
2020/09/17 PHP
javascript 一个函数对同一元素的多个事件响应
2009/07/25 Javascript
浅析JavaScript动画
2015/06/10 Javascript
Jquery ajax 同步阻塞引起的UI线程阻塞问题
2015/11/17 Javascript
jQuery实现发送验证码并60秒倒计时功能
2016/11/25 Javascript
Bootstrap CSS组件之按钮组(btn-group)
2016/12/17 Javascript
javascript实现根据函数名称字符串动态执行函数的方法示例
2016/12/28 Javascript
微信小程序实战之自定义toast(6)
2017/04/18 Javascript
Vue resource中的GET与POST请求的实例代码
2017/07/21 Javascript
vue-image-crop基于Vue的移动端图片裁剪组件示例
2018/08/28 Javascript
vue.js 子组件无法获取父组件store值的解决方式
2019/11/08 Javascript
在 Vue 中使用 JSX 及使用它的原因浅析
2020/02/10 Javascript
vue与iframe之间的信息交互的实现
2020/04/08 Javascript
vscode 调试 node.js的方法步骤
2020/09/15 Javascript
关于Python中异常(Exception)的汇总
2017/01/18 Python
Python加载带有注释的Json文件实例
2018/05/23 Python
Python批处理更改文件名os.rename的方法
2018/10/26 Python
Python检查和同步本地时间(北京时间)的实现方法
2018/12/03 Python
Python3创建Django项目的几种方法(3种)
2020/06/03 Python
HTML5学习心得总结(推荐)
2016/07/08 HTML / CSS
Blue Nile台湾:钻石珠宝商,订婚首饰、结婚戒指和精品首饰
2017/11/24 全球购物
文艺演出策划方案
2014/06/07 职场文书
端午节活动总结报告
2015/02/11 职场文书
五星红旗迎风飘扬观后感
2015/06/17 职场文书
听证会主持词
2015/07/03 职场文书
优质护理心得体会
2016/01/22 职场文书
Python Pygame实战之塔防游戏的实现
2022/03/17 Python
分析SQL窗口函数之聚合窗口函数
2022/04/21 Oracle
详解Mysql数据库平滑扩容解决高并发和大数据量问题
2022/05/25 MySQL