运算符
算术运算符
在下列运算中假定 A = 5,B = 2
| 运算符 | 描述 | 实例 |
|---|---|---|
+ | 加法 | A + B 输出结果 7 |
- | 减法 | A - B 输出结果 3 |
* | 乘法 | A * B 输出结果 10 |
/ | 除法 | B / A 输出结果 2.5 |
% | 取模(余数) | B % A 输出结果 1 |
++ | 自增 | A++ 输出结果 6 |
-- | 自减 | A-- 输出结果 4 |
在自增和自减中,运算符的书写位置会也会影响结果。如:++变量 是先自增后赋值,而 变量++ 则是先赋值后自增(自减也是同理)
赋值运算符
| 运算符 | 描述 | 等同于 |
|---|---|---|
= | A = B | |
+= | A += B | A = A + B |
-= | A -= B | A = A - B |
*= | A *= B | A = A * B |
/= | A /= B | A = A / B |
%= | A %= B | A = A % B |
关系运算符
在下列运算中假定 X = 5
| 运算符 | 描述 | 实例 |
|---|---|---|
== | 等于 | x == 8 false x == 5 true |
=== | 绝对等于 值和类型均相等 | x === "5" false x === 5 true |
!= | 不等于 | x != 8 true |
!== | 严格不等于运算符 值和类型有一个不相等,或两个都不相等 | x !== "5" true x !== 5 false |
> | 大于 | x > 8 false |
< | 小于 | x < 8 true |
>= | 大于或等于 | x >= 8 false |
<= | 小于或等于 | x <= 8 true |
逻辑运算符
| 运算符 | 描述 | 案例 |
|---|---|---|
&& | and | [true/false] && [true/false]双方必须同时为 true 整体结果才会为 true |
|| | or | [true/false] || [true/false]只要有一方为 true 整体结果就是 true |
! | not | ![true/false]对结果取反 |
位运算符
位运算符会先将操作数转换为 32 位整数(超出范围的会截断),再按二进制位进行运算,最终返回十进制结果
| 名称 | 运算符 | 案例(可直接复制运行) |
|---|---|---|
| 按位与 | & | console.log(5 & 3); // 输出 1 |
| 按位或 | | | console.log(5 | 3); // 输出 7 |
| 按位非 | ~ | console.log(~5); // 输出 -6 |
| 按位异或 | ^ | console.log(5 ^ 3); // 输出 6 |
| 左移 | << | console.log(5 << 1); // 输出 10 |
| 有符号右移 | >> | console.log(5 >> 1); // 输出 2 |
| 无符号右移 | >>> | console.log(-5 >>> 1); // 输出 2147483645 |
| 按位与赋值 | &= | let a=5; a &=3; console.log(a); // 输出 1 |
| 按位或赋值 | |= | let a=5; a |=3; console.log (a); // 输出 7 |
| 按位异或赋值 | ^= | let a=5; a ^=3; console.log(a); // 输出 6 |
| 左移赋值 | <<= | let a=5; a <<=1; console.log(a); // 输出 10 |
| 有符号右移赋值 | >>= | let a=5; a >>=1; console.log(a); // 输出 2 |
| 无符号右移赋值 | >>>= | let a=-5; a >>>=1; console.log(a); // 输出 2147483645 |
