javascript第6讲:赋值运算,一元运算,位运算

2019-10-08 16:15:31 浏览数 (3)

赋值运算符

1. =

通过 = 号进行赋值

代码语言:javascript复制
    <script type="text/javascript">
            var x =5;
             x = x 5;
             console.log(x)
        </script>

2. =/-=/ /= / *= / %=

代码语言:javascript复制
    <script type="text/javascript">
            var x =5;
             x  =5;
             console.log(x)
        </script>

相当于第一种写法

3.字符运算

当第一个是字符,第二个是数字时,会根据第一个的类型进行运算 使用赋值运算符运算时遵照算数运算完成

一元运算符

/ -- i 先运算再赋值 i 先赋值再运算

位运算

~ 位非运算

先加1再取负

代码语言:javascript复制
<script type="text/javascript">
            var a =10;
            console.log(~a)
        </script>

& 位或运算

代码语言:javascript复制
<script type="text/javascript">
            var a = 5;
            var b = 6;
            console.log(a & b)
            // 结果为4 
            // 位与运算的时候是先将变量转换成 2进制,然后再将二进制进行与运算,1& 1 为1,其他都为0,再根据与后的结果的二进制,再转换回来
        </script>

| 位或运算

代码语言:javascript复制
<script type="text/javascript">
            var a = 5;
            var b = 6;
            console.log(a | b)
            // 结果为7 
            // 位与运算的时候是先将变量转换成 2进制,然后再将二进制进行与运算,其中只要有一个为1,就会1 ,再根据与后的结果的二进制,再转换回来
        </script>

^ 异或运算

代码语言:javascript复制
<script type="text/javascript">
            var a = 5;
            var b = 6;
            console.log(a ^ b)
            // 结果为3 
            // 位与运算的时候是先将变量转换成 2进制,相同的为0,不同的为1,再根据与后的结果的二进制,再转换回来
        </script>
<script type="text/javascript">
            var x = 1235;
            var y = 20;
            var z = x ^ y
            console.log(z) //结果为 1223 
            console.log(z ^ y) //结果为:1235 ,2次异或后为 x的值,可以用来做一些简单的加密
        </script>

<< 、 >> 左右移位运算

其运算原理也是将变量先转换为 二进制,再根据要移动的位数进行二进制的位数进行移动

  • 求2的N次幂
代码语言:javascript复制
console.log(1 << n)
  • 颜色变换 console.log(0x0000ff << 16).tostring(16) 结果:ff0000

1 人点赞