运算符

基本运算符

示例代码:

  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';
  2. // 字符串拼接
  3. 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!逻辑非从右到左
~按位非从右到左
+一元加法从右到左
-一元减法从右到左
++前置递增从右到左
前置递减从右到左
typeoftypeof从右到左
voidvoid从右到左
deletedelete从右到左
14乘法从左到右
/除法从左到右
%取模从左到右
13+加法从左到右
-减法从左到右
12<<按位左移从左到右
>>按位右移从左到右
>>>无符号右移从左到右
11<小于从左到右
<=小于等于从左到右
>大于从左到右
>=大于等于从左到右
10==等号从左到右
!=非等号从左到右
===全等号从左到右
!==非全等号从左到右
9&按位与从左到右
8^按位异或从左到右
7按位或从左到右
6&&逻辑与从左到右
5||逻辑或从左到右
4?:条件运算符从右到左
3=赋值从右到左
+=赋值从右到左
-=赋值从右到左
=赋值从右到左
/=赋值从右到左
%=赋值从右到左
<<=赋值从右到左
>>=赋值从右到左
>>>=赋值从右到左
&=赋值从右到左
^=赋值从右到左
|=赋值从右到左
0,逗号从左到右