赋值运算符
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次幂
console.log(1 << n)
- 颜色变换 console.log(0x0000ff << 16).tostring(16) 结果:ff0000