【JavaScript高级程序设计】1、操作符

很久没有再写博客了,我决定从新开启博客之旅,也是对我工作之后的学习的监督以及技术提升的一个里程碑把!!!

1、位操作符

ECMAScript中的所有数值都以IEEE-754 64位格式存储,但是位操作符并不直接操作64位的值,而是把64位的值转化为32位的整数然后执行操作,最后转换为64位。

负数使用二进制补码进行存储。

 

1.1 按位非

<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>Document</title>

    <script type="text/javascript">

        var num1 = 25;
        var num2 = ~num1;
        alert(num2);

    </script>

 </head>
 <body>
  
 </body>
</html>

 

显示结果:

1.2 按位与

 按位与就是:

第一个数值的位  第二个数的位  结果

  1        1      1

  1        0      0

  0        1      0

  0        0      0

 

就是只有两个1相与的时候才是1,其他都是0

<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>Document</title>

    <script type="text/javascript">

        var result = 25 & 3;
        //25的二进制的值是:‭00011001‬
        //3的二进制值是:‭0011‬
        alert(result); //1

    </script>

 </head>
 <body>
  
 </body>
</html>

结果:

 

1.3 按位或

第一个数值的位    第二个数值的位    结果

  1            1        1

  1            0        1

  0            1        1

  0            0        0

 

只有全都是0的时候返回0,其他情况下都是1

<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>Document</title>

    <script type="text/javascript">

        var result = 25 | 3;
        alert(result); //结果就是27

    </script>

 </head>
 <body>
  
 </body>
</html>

显示结果:

 

1.4 按位异或

 第一个数值的位    第二个数值的位    结果

    1          1        0

    1          0        1 

    0          1        1

    0          0        0

 

 按位异或就是相同位0,不同为1

 

<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>Document</title>

    <script type="text/javascript">

        var result = 25 ^ 3; //异或
        //25   ‭00011001‬
        //3    0000‭0011‬
        alert(result); //00011010   26

    </script>


 </head>
 <body>
  
 </body>
</html>

结果:

 

posted @ 2016-06-29 16:16  cutter_point  阅读(139)  评论(0)    收藏  举报