JavaScript 中的运算符可以分为以下几类:
1. 算术运算符
算术运算符用于执行算术运算,包括加法、减法、乘法、除法、取模等等。
-
+
(加法): 用于将两个值相加。let a = 10; let b = 5; let sum = a + b; // 结果为 15 console.log(sum);
-
-
(减法): 用于将两个值相减。let a = 10; let b = 5; let difference = a - b; // 结果为 5 console.log(difference);
-
*
(乘法): 用于将两个值相乘。let a = 10; let b = 5; let product = a * b; // 结果为 50 console.log(product);
-
/
(除法): 用于将两个值相除。let a = 10; let b = 5; let quotient = a / b; // 结果为 2 console.log(quotient);
-
%
(取模): 用于返回两个值相除的余数。let a = 10; let b = 3; let remainder = a % b; // 结果为 1 console.log(remainder);
-
**(幂):将第一个操作数提升到第二个操作数的幂。
var x = 5; var z = x ** 2; // 结果是 25
-
++
(自增): 用于将变量的值加 1。-
前置自增:
++a
先将a
的值加 1,然后返回a
的值。let a = 10; let b = ++a; // a 的值为 11,b 的值为 11 console.log(a); console.log(b);
-
后置自增:
a++
先返回a
的值,然后将a
的值加 1。let a = 10; let b = a++; // a 的值为 11,b 的值为 10 console.log(a); console.log(b);
-
-
--
(自减): 用于将变量的值减 1。-
前置自减:
--a
先将a
的值减 1,然后返回a
的值。let a = 10; let b = --a; // a 的值为 9,b 的值为 9 console.log(a); console.log(b);
-
后置自减:
a--
先返回a
的值,然后将a
的值减 1。let a = 10; let b = a--; // a 的值为 9,b 的值为 10 console.log(a); console.log(b);
-
2. 赋值运算符
赋值运算符用于将一个值赋给一个变量。
-
=
(赋值): 用于将右边的值赋给左边的变量。let a = 10; // 将 10 赋给变量 a console.log(a);
-
+=
(加等于): 用于将变量的值加上右边的值,并将结果赋给变量。let a = 10; a += 5; // 相当于 a = a + 5; a 的值为 15 console.log(a);
-
-=
(减等于): 用于将变量的值减去右边的值,并将结果赋给变量。let a = 10; a -= 5; // 相当于 a = a - 5; a 的值为 5 console.log(a);
-
*=
(乘等于): 用于将变量的值乘以右边的值,并将结果赋给变量。let a = 10; a *= 5; // 相当于 a = a * 5; a 的值为 50 console.log(a);
-
/=
(除等于): 用于将变量的值除以右边的值,并将结果赋给变量。let a = 10; a /= 5; // 相当于 a = a / 5; a 的值为 2 console.log(a);
-
%=
(取模等于): 用于将变量的值除以右边的值,并将余数赋给变量。let a = 10; a %= 3; // 相当于 a = a % 3; a 的值为 1 console.log(a);
3. 比较运算符
比较运算符用于比较两个值的大小关系,返回一个布尔值(true
或 false
)。
-
==
(等于): 用于判断两个值是否相等,不考虑数据类型。let a = 10; let b = "10"; console.log(a == b); // 结果为 true,因为 JavaScript 会将字符串 "10" 转换为数字 10
-
!=
(不等于): 用于判断两个值是否不相等,不考虑数据类型。let a = 10; let b = "10"; console.log(a != b); // 结果为 false
-
===
(全等于): 用于判断两个值是否完全相等,包括数据类型。let a = 10; let b = "10"; console.log(a === b); // 结果为 false,因为 a 是数字类型,b 是字符串类型
-
!==
(不全等于): 用于判断两个值是否不完全相等,包括数据类型。let a = 10; let b = "10"; console.log(a !== b); // 结果为 true
-
>
(大于): 用于判断左边的值是否大于右边的值。let a = 10; let b = 5; console.log(a > b); // 结果为 true
-
<
(小于): 用于判断左边的值是否小于右边的值。let a = 10; let b = 5; console.log(a < b); // 结果为 false
-
>=
(大于等于): 用于判断左边的值是否大于等于右边的值。let a = 10; let b = 10; console.log(a >= b); // 结果为 true
-
<=
(小于等于): 用于判断左边的值是否小于等于右边的值。let a = 10; let b = 10; console.log(a <= b); // 结果为 true
重点提醒:
-
尽量使用
===
和!==
来进行比较,避免使用==
和!=
,因为==
和!=
会进行类型转换,可能会导致意想不到的结果。
4. 逻辑运算符
逻辑运算符用于执行逻辑运算,返回一个布尔值(true
或 false
)。
-
&&
(与): 用于判断两个表达式是否都为真,只有当两个表达式都为真时,结果才为真。let a = 10; let b = 5; console.log(a > 5 && b < 10); // 结果为 true
-
||
(或): 用于判断两个表达式是否至少有一个为真,只要有一个表达式为真,结果就为真。let a = 10; let b = 5; console.log(a < 5 || b < 10); // 结果为 true
-
!
(非): 用于对一个表达式取反,如果表达式为真,结果为假;如果表达式为假,结果为真。let a = 10; console.log(!(a > 5)); // 结果为 false
5. 字符串运算符
字符串运算符用于连接字符串。
-
+
(连接): 用于将两个字符串连接起来。let str1 = "Hello"; let str2 = "World"; console.log(str1 + " " + str2); // 结果为 "Hello World"
-
+=
(连接并赋值): 用于将一个字符串添加到另一个字符串的末尾,并将结果赋给该字符串。let str = "Hello"; str += " World"; // 相当于 str = str + " World"; str 的值为 "Hello World" console.log(str);
6. 条件(三元)运算符
条件运算符是 JavaScript 中唯一的三元运算符,它需要三个操作数。
-
condition ? expr1 : expr2
: 如果condition
为真,则返回expr1
的值;否则,返回expr2
的值。let age = 20; let message = age >= 18 ? "已成年" : "未成年"; console.log(message); // 结果为 "已成年"
你可以把条件运算符想象成一个“简化的 if 语句”,它可以让你用更简洁的代码来实现条件判断。