运算符

基本运算符

示例代码:

  1. var a = 10, b = 20;
  2. // 加法运算
  3. console.log(30 === a + b);
  4. // 减法运算
  5. console.log(-10 === a - b);
  6. // 乘法运算
  7. console.log(200 === a * b);
  8. // 除法运算
  9. console.log(0.5 === a / b);
  10. // 取余运算
  11. console.log(10 === a % b);
  • 加法运算(+)也可以用作字符串的拼接。
    1. var a = '.w' , b = 'xs';

// 字符串拼接
console.log('.wxs' === a + b);

一元运算符

示例代码:

  1. var a = 10, b = 20;
  2. // 自增运算
  3. console.log(10 === a++);
  4. console.log(12 === ++a);
  5. // 自减运算
  6. console.log(12 === a--);
  7. console.log(10 === --a);
  8. // 正值运算
  9. console.log(10 === +a);
  10. // 负值运算
  11. console.log(0-10 === -a);
  12. // 否运算
  13. console.log(-11 === ~a);
  14. // 取反运算
  15. console.log(false === !a);
  16. // delete 运算
  17. console.log(true === delete a.fake);
  18. // void 运算
  19. console.log(undefined === void a);
  20. // typeof 运算
  21. console.log("number" === typeof a);

位运算符

示例代码:

  1. var a = 10, b = 20;
  2. // 左移运算
  3. console.log(80 === (a << 3));
  4. // 无符号右移运算
  5. console.log(2 === (a >> 2));
  6. // 带符号右移运算
  7. console.log(2 === (a >>> 2));
  8. // 与运算
  9. console.log(2 === (a & 3));
  10. // 异或运算
  11. console.log(9 === (a ^ 3));
  12. // 或运算
  13. console.log(11 === (a | 3));

比较运算符

示例代码:

  1. var a = 10, b = 20;
  2. // 小于
  3. console.log(true === (a < b));
  4. // 大于
  5. console.log(false === (a > b));
  6. // 小于等于
  7. console.log(true === (a <= b));
  8. // 大于等于
  9. console.log(false === (a >= b));

等值运算符

示例代码:

  1. var a = 10, b = 20;
  2. // 等号
  3. console.log(false === (a == b));
  4. // 非等号
  5. console.log(true === (a != b));
  6. // 全等号
  7. console.log(false === (a === b));
  8. // 非全等号
  9. console.log(true === (a !== b));

赋值运算符

示例代码:

  1. var a = 10;
  2. a = 10; a *= 10;
  3. console.log(100 === a);
  4. a = 10; a /= 5;
  5. console.log(2 === a);
  6. a = 10; a %= 7;
  7. console.log(3 === a);
  8. a = 10; a += 5;
  9. console.log(15 === a);
  10. a = 10; a -= 11;
  11. console.log(-1 === a);
  12. a = 10; a <<= 10;
  13. console.log(10240 === a);
  14. a = 10; a >>= 2;
  15. console.log(2 === a);
  16. a = 10; a >>>= 2;
  17. console.log(2 === a);
  18. a = 10; a &= 3;
  19. console.log(2 === a);
  20. a = 10; a ^= 3;
  21. console.log(9 === a);
  22. a = 10; a |= 3;
  23. console.log(11 === a);

二元逻辑运算符

示例代码:

  1. var a = 10, b = 20;
  2. // 逻辑与
  3. console.log(20 === (a && b));
  4. // 逻辑或
  5. console.log(10 === (a || b));

其他运算符

示例代码:

  1. var a = 10, b = 20;
  2. //条件运算符
  3. console.log(20 === (a >= 10 ? a + 10 : b + 10));
  4. //逗号运算符
  5. console.log(20 === (a, b));

运算符优先级

优先级 运算符 说明 结合性
20 () 括号 n/a
19 . 成员访问 从左到右
[] 成员访问 从左到右
() 函数调用 从左到右
17 ++ 后置递增 n/a
后置递减 n/a
16 ! 逻辑非 从右到左
~ 按位非 从右到左
+ 一元加法 从右到左
- 一元减法 从右到左
++ 前置递增 从右到左
前置递减 从右到左
typeof typeof 从右到左
void void 从右到左
delete delete 从右到左
14 * 乘法 从左到右
/ 除法 从左到右
% 取模 从左到右
13 + 加法 从左到右
- 减法 从左到右
12 << 按位左移 从左到右
>> 按位右移 从左到右
>>> 无符号右移 从左到右
11 < 小于 从左到右
<= 小于等于 从左到右
> 大于 从左到右
>= 大于等于 从左到右
10 == 等号 从左到右
!= 非等号 从左到右
=== 全等号 从左到右
!== 非全等号 从左到右
9 & 按位与 从左到右
8 ^ 按位异或 从左到右
7 按位或 从左到右
6 && 逻辑与 从左到右
5 || 逻辑或 从左到右
4 ?: 条件运算符 从右到左
3 = 赋值 从右到左
+= 赋值 从右到左
-= 赋值 从右到左
*= 赋值 从右到左
/= 赋值 从右到左
%= 赋值 从右到左
<<= 赋值 从右到左
>>= 赋值 从右到左
>>>= 赋值 从右到左
&= 赋值 从右到左
^= 赋值 从右到左
|= 赋值 从右到左
0 , 逗号 从左到右

原文:

https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxs/04operator.html