JS运算符汇总讲解

运算符是用来告诉 JavaScript 引擎执行某种操作的符号,例如加号(+)表示执行加法运算,减号(-)表示执行减法运算等,本节我们就来介绍一下 JavaScript 中不同的运算符。

算术运算符

算数运算符用来执行常见的数学运算,例如加法、减法、乘法、除法等,下表中列举了 JavaScript 中支持的算术运算符:

运算符 描述 示例
+ 加法运算符 x + y 表示计算 x 加 y 的和
减法运算符 x – y 表示计算 x 减 y 的差
* 乘法运算符 x * y 表示计算 x 乘 y 的积
/ 除法运算符 x / y 表示计算 x 除以 y 的商
% 取模(取余)运算符 x % y 表示计算 x 除以 y 的余数

示例代码如下:

  1. var x = 10,
  2. y = 4;
  3. console.log(“x + y =”, x + y); // 输出:x + y = 14
  4. console.log(“x – y =”, x y); // 输出:x – y = 6
  5. console.log(“x * y =”, x * y); // 输出:x * y = 40
  6. console.log(“x / y =”, x / y); // 输出:x / y = 2.5
  7. console.log(“x % y =”, x % y); // 输出:x % y = 2

上述代码中,双引号中的内容是一个字符串,所以其中的运算符会原样输出,并不参与运算。

赋值运算符

赋值运算符用来为变量赋值,下表中列举了 JavaScript 中支持的赋值运算符:

运算符 描述 示例
= 最简单的赋值运算符,将运算符右侧的值赋值给运算符左侧的变量 x = 10 表示将变量 x 赋值为 10
+= 先进行加法运算,再将结果赋值给运算符左侧的变量 x += y 等同于 x = x + y
-= 先进行减法运算,再将结果赋值给运算符左侧的变量 x -= y 等同于 x = x – y
*= 先进行乘法运算,再将结果赋值给运算符左侧的变量 x *= y 等同于 x = x * y
/= 先进行除法运算,再将结果赋值给运算符左侧的变量 x /= y 等同于 x = x / y
%= 先进行取模运算,再将结果赋值给运算符左侧的变量 x %= y 等同于 x = x % y

示例代码如下:

  1. var x = 10;
  2. x += 20;
  3. console.log(x); // 输出:30
  4. var x = 12,
  5. y = 7;
  6. x -= y;
  7. console.log(x); // 输出:5
  8. x = 5;
  9. x *= 25;
  10. console.log(x); // 输出:125
  11. x = 50;
  12. x /= 10;
  13. console.log(x); // 输出:5
  14. x = 100;
  15. x %= 15;
  16. console.log(x); // 输出:10

字符串运算符

JavaScript 中的++=运算符除了可以进行数学运算外,还可以用来拼接字符串,其中:

  • +运算符表示将运算符左右两侧的字符串拼接到一起;
  • +=运算符表示先将字符串进行拼接,然后再将结果赋值给运算符左侧的变量。

示例代码如下:

  1. var x = “Hello “;
  2. var y = “World!”;
  3. var z = x + y;
  4. console.log(z); // 输出:Hello World!
  5. x += y;
  6. console.log(x); // 输出:Hello World!

自增、自减运算符

自增、自减运算符用来对变量的值进行自增(+1)、自减(-1)操作,下表中列举了 JavaScript 中支持的自增、自减运算符:

运算符 名称 影响
++x 自增运算符 将 x 加 1,然后返回 x 的值
x++ 自增运算符 返回 x 的值,然后再将 x 加 1
–x 自减运算符 将 x 减 1,然后返回 x 的值
x– 自减运算符 返回 x 的值,然后将 x 减 1

示例代码如下:

  1. var x;
  2.  
  3. x = 10;
  4. console.log(++x); // 输出:11
  5. console.log(x); // 输出:11
  6.  
  7. x = 10;
  8. console.log(x++); // 输出:10
  9. console.log(x); // 输出:11
  10.  
  11. x = 10;
  12. console.log(–x); // 输出:9
  13. console.log(x); // 输出:9
  14.  
  15. x = 10;
  16. console.log(x–); // 输出:10
  17. console.log(x); // 输出:9

比较运算符

比较运算符用来比较运算符左右两侧的表达式,比较运算符的运算结果是一个布尔值,结果只有两种,不是 true 就是 false。下表中列举了 JavaScript 中支持的比较运算符:

运算符 名称 示例
== 等于 x == y 表示如果 x 等于 y,则为真
=== 全等 x === y 表示如果 x 等于 y,并且 x 和 y 的类型也相同,则为真
!= 不相等 x != y 表示如果 x 不等于 y,则为真
!== 不全等 x !== y 表示如果 x 不等于 y,或者 x 和 y 的类型不同,则为真
< 小于 x < y 表示如果 x 小于 y,则为真
> 大于 x > y 表示如果 x 大于 y,则为真
>= 大于或等于 x >= y 表示如果 x 大于或等于 y,则为真
<= 小于或等于 x <= y 表示如果 x 小于或等于 y,则为真

示例代码如下:

  1. var x = 25;
  2. var y = 35;
  3. var z = “25”;
  4.  
  5. console.log(x == z); // 输出: true
  6. console.log(x === z); // 输出: false
  7. console.log(x != y); // 输出: true
  8. console.log(x !== z); // 输出: true
  9. console.log(x < y); // 输出: true
  10. console.log(x > y); // 输出: false
  11. console.log(x <= y); // 输出: true
  12. console.log(x >= y); // 输出: false

逻辑运算符

逻辑运算符通常用来组合多个表达式,逻辑运算符的运算结果是一个布尔值,只能有两种结果,不是 true 就是 false。下表中列举了 JavaScript 中支持的逻辑运算符:

运算符 名称 示例
&& 逻辑与 x && y 表示如果 x 和 y 都为真,则为真
|| 逻辑或 x || y 表示如果 x 或 y 有一个为真,则为真
! 逻辑非 !x 表示如果 x 不为真,则为真

示例代码如下:

  1. var year = 2021;
  2.  
  3. // 闰年可以被 400 整除,也可以被 4 整除,但不能被 100 整除
  4. if((year % 400 == 0) || ((year % 100 != 0) && (year % 4 == 0))){
  5. console.log(year + ” 年是闰年。”);
  6. } else{
  7. console.log(year + ” 年是平年。”);
  8. }

三元运算符

三元运算符(也被称为条件运算符),由一个问号和一个冒号组成,语法格式如下:

条件表达式 ? 表达式1 : 表达式2 ;

如果“条件表达式”的结果为真(true),则执行“表达式1”中的代码,否则就执行“表达式2”中的代码。

示例代码如下:

  1. var x = 11,
  2. y = 20;
  3.  
  4. x > y ? console.log(“x 大于 y”) : console.log(“x 小于 y”); // 输出:x 小于 y

位运算符

位运算符用来对二进制位进行操作,JavaScript 中支持的位运算符如下表所示:

运算符 描述 示例
& 按位与:如果对应的二进制位都为 1,则该二进制位为 1 5 & 1 等同于 0101 & 0001 结果为 0001,十进制结果为 1
| 按位或:如果对应的二进制位有一个为 1,则该二进制位为 1 5 | 1 等同于 0101 | 0001 结果为 0101,十进制结果为 5
^ 按位异或:如果对应的二进制位只有一个为 1,则该二进制位为 1 5 ^ 1 等同于 0101 ^ 0001 结果为 0100,十进制结果为 4
~ 按位非:反转所有二进制位,即 1 转换为 0,0 转换为 1 ~5 等同于 ~0101 结果为 1010,十进制结果为 -6
<< 按位左移:将所有二进制位统一向左移动指定的位数,并在最右侧补 0 5 << 1 等同于 0101 << 1 结果为 1010,十进制结果为 10
>> 按位右移(有符号右移):将所有二进制位统一向右移动指定的位数,并拷贝最左侧的位来填充左侧 5 >> 1 等同于 0101 >> 1 结果为 0010,十进制结果为 2
>>> 按位右移零(无符号右移):将所有二进制位统一向右移动指定的位数,并在最左侧补 0 5 >>> 1 等同于 0101 >>> 1 结果为 0010,十进制结果为 2

示例代码如下:

  1. var a = 5 & 1,
  2. b = 5 | 1,
  3. c = 5 ^ 1,
  4. d = ~ 5,
  5. e = 5 << 1,
  6. f = 5 >> 1,
  7. g = 5 >>> 1;
  8. console.log(a); // 输出:1
  9. console.log(b); // 输出:5
  10. console.log(c); // 输出:4
  11. console.log(d); // 输出:-6
  12. console.log(e); // 输出:10
  13. console.log(f); // 输出:2
  14. console.log(g); // 输出:2
© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片