JavaScript

JavaScript运算符汇总

下文笔者讲述javaScript的运算符大全,如下所示

JavaScript运算符功能及简介

运算符的简介
    运算符都是JavaScript引擎操作的符号
      如:
	    加号(+):加法运算
        减号(-):减法运算

算术运算符简介

 算数运算符:
     用于运行常见的数学运算
     如:
	  加法、减法、乘法、除法等 
运算符 备注 示例
+ 加法运算符 x + y
指计算 x 加 y 的和
- 减法运算符 x - y
指计算 x 减 y 的差
* 乘法运算符 x * y
指计算 x 乘 y 的积
/ 除法运算符 x / y
指计算 x 除以 y 的商
% 取模(取余)运算符 x % y
指计算 x 除以 y 的余数
例:算术示例
 
var x = 100,
    y = 40;
console.log("x + y =", x + y);  // 输出:x + y = 140
console.log("x - y =", x - y);  // 输出:x - y = 60
console.log("x * y =", x * y);  // 输出:x * y = 4000
console.log("x / y =", x / y);  // 输出:x / y = 2.5
console.log("x % y =", x % y);  // 输出:x % y = 2

赋值运算符

赋值运算符用来为变量赋值
 
运算符 备注 示例
= 赋值运算符
将运算符右侧的值赋值给运算符左侧的变量
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
var x = 20;
x += 30;
console.log(x);  // 输出:50
var x = 18,
    y = 9;
x -= y;
console.log(x);  // 输出:9
x = 6;
x *= 36;
console.log(x);  // 36
x = 60;
x /= 20;
console.log(x);  // 输出:3
x = 100;
x %= 15;
console.log(x);  // 输出:10

字符串运算符

在JavaScript中语法中:
  +和+=运算符:除了可以进行数学运算外
    还可以用来拼接字符串
其中:
  +运算符的功能:将运算符左右两侧的字符串拼接到一起
  +=运算符的功能:将字符串进行拼接
        然后再将结果赋值给运算符左侧的变量
例:
var x = "linux ";
var y = "28.com";
var z = x + y;
console.log(z);  // 输出:linux 28.com
x += y;
console.log(x);  // 输出:linux 28.com

自增、自减运算符

自增、自减运算符用来对变量的值
   进行自增(+1)、自减(-1)操作 
运算符 备注 说明
++x 自增运算符 将 x 加 1,然后返回 x 的值
x++ 自增运算符 返回 x 的值,然后再将 x 加 1
--x 自减运算符 将 x 减 1,然后返回 x 的值
x-- 自减运算符 返回 x 的值,然后将 x 减 1
var x;
x = 10;
console.log(++x);  // 输出:11
console.log(x);    // 输出:11
x = 10;
console.log(x++);  // 输出:10
console.log(x);    // 输出:11
x = 10;
console.log(--x);  // 输出:9
console.log(x);    // 输出:9
x = 10;
console.log(x--);  // 输出:10
console.log(x);    // 输出:9

比较运算符

比较运算符:
  用于比较运算符左右两侧的表达式
  比较运算符的运算结果是一个布尔值
   结果只有两种:不是true就是false 
运算符 名称 示例
== 等于 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,则为真
比较运算符的示例
var x = 88;
var y = 99;
var z = "88";
console.log(x == z);  // 输出: true
console.log(x === z); // 输出: false
console.log(x != y);  // 输出: true
console.log(x !== z); // 输出: true
console.log(x < y);   // 输出: true
console.log(x > y);   // 输出: false
console.log(x <= y);  // 输出: true
console.log(x >= y);  // 输出: false

逻辑运算符

逻辑运算符:
   常用于组合多个表达式
逻辑运算符的运算结果是一个布尔值,返回true或false
运算符 名称 示例
&& 逻辑与 x && y
指如果 x 和 y 都为真,则为真
|| 逻辑或 x || y
指如果 x 或 y 有一个为真,则为真
! 逻辑非 !x
指如果 x 不为真,则为真
var year = 2021;
// 闰年可以被 400 整除,也可以被 4 整除,但不能被 100 整除
if((year % 400 == 0) || ((year % 100 != 0) && (year % 4 == 0))){
    console.log(year + " 年是闰年。");
} else{
    console.log(year + " 年是平年。");
}

三元运算符

三元运算符(也被称为条件运算符):
 由一个问号和一个冒号组成

语法格式如下:
  条件表达式 ? 表达式1 : 表达式2 ;
  当“条件表达式”的结果为真(true)
    则运行“表达式1”中的代码,否则就执行“表达式2”中的代码。
var x = 22,
    y = 88;
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
位运算的示例
var a = 5 & 1,
    b = 5 | 1,
    c = 5 ^ 1,
    d = ~ 5,
    e = 5 << 1,
    f = 5 >> 1,
    g = 5 >>> 1;
console.log(a);  // 输出:1
console.log(b);  // 输出:5
console.log(c);  // 输出:4
console.log(d);  // 输出:-6
console.log(e);  // 输出:10
console.log(f);  // 输出:2
console.log(g);  // 输出:2