JavaScript 运算符是用于执行特定操作的符号,它们帮助开发者对变量、值或表达式进行计算、比较、赋值等操作。以下是对 JavaScript 运算符的功能、用法及运用的详细解析:
算术运算符
功能:用于执行数学运算。
用法:
运算符 | 描述 | 示例 |
---|---|---|
+ |
加法 | var sum = 5 + 3; // sum 为 8 |
- |
减法 | var diff = 10 - 2; // diff 为 8 |
* |
乘法 | var product = 2 * 3; // product 为 6 |
/ |
除法 | var quotient = 10 / 2; // quotient 为 5 |
% |
取模(求余数) | var remainder = 15 % 4; // remainder 为 3 |
** |
指数运算(幂) | var result = 2 ** 3; // result 为 8 |
++ |
递增(自增) | var a = 2; a++; // a 为 3 |
-- |
递减(自减) | var b = 5; b--; // b 为 4 |
注意:
- 当操作数不是数字时,JavaScript 会尝试将其转换为数字。
- 递增和递减运算符有前缀和后缀两种形式,前缀形式先增减后返回值,后缀形式先返回值后增减。
赋值运算符
功能:用于将值赋给变量。
用法:
运算符 | 描述 | 示例 |
---|---|---|
= |
简单赋值 | var x = 10; // x 为 10 |
+= |
加后赋值 | var y = 5; y += 3; // y 为 8 |
-= |
减后赋值 | var z = 10; z -= 2; // z 为 8 |
*= |
乘后赋值 | var a = 2; a *= 3; // a 为 6 |
/= |
除后赋值 | var b = 10; b /= 2; // b 为 5 |
%= |
取模后赋值 | var c = 15; c %= 4; // c 为 3 |
比较运算符
功能:用于比较两个值的大小或相等性。
用法:
运算符 | 描述 | 示例 |
---|---|---|
== |
等于(类型不同会进行类型转换) | var isEqual = 5 == '5'; // isEqual 为 true |
=== |
严格等于(类型和值都必须相等) | var isStrictEqual = 5 === '5'; // isStrictEqual 为 false |
!= |
不等于(类型不同会进行类型转换) | var isNotEqual = 5 != '5'; // isNotEqual 为 false |
!== |
严格不等于(类型和值都不相等) | var isStrictNotEqual = 5 !== '5'; // isStrictNotEqual 为 true |
> |
大于 | var isGreater = 10 > 5; // isGreater 为 true |
< |
小于 | var isLess = 5 < 10; // isLess 为 true |
>= |
大于等于 | var isGreaterOrEqual = 10 >= 10; // isGreaterOrEqual 为 true |
<= |
小于等于 | var isLessOrEqual = 5 <= 5; // isLessOrEqual 为 true |
逻辑运算符
功能:用于组合多个条件,确定一个条件是否为真。
用法:
运算符 | 描述 | 示例 |
---|---|---|
&& |
逻辑与(AND) | var isTrue = true && false; // isTrue 为 false |
` | ` | |
! |
逻辑非(NOT) | var isTrue = !false; // isTrue 为 true |
注意:
- 逻辑与运算符
&&
只有当两侧都为true
时,结果才为true
。 - 逻辑或运算符
||
只要有一侧为true
,结果就为true
。 - 逻辑非运算符
!
用于取反,将true
变为false
,将false
变为true
。
条件(三元)运算符
功能:根据条件表达式的结果返回两个可能的结果之一。
用法:
var result = (condition) ? value1 : value2;
- 如果
condition
为true
,则返回value1
。 - 如果
condition
为false
,则返回value2
。
示例:
var isEven = (5 % 2 === 0) ? 'Even' : 'Odd'; // isEven 为 'Odd'
位运算符
功能:直接对二进制位进行操作。
用法:
运算符 | 描述 | 示例 |
---|---|---|
& |
按位与(AND) | var result = 5 & 3; // result 为 1 |
` | ` | 按位或(OR) |
^ |
按位异或(XOR) | var result = 5 ^ 3; // result 为 6 |
~ |
按位非(NOT) | var result = ~5; // result 为 -6 |
<< |
左移 | var result = 5 << 1; // result 为 10 |
>> |
右移 | var result = 10 >> 1; // result 为 5 |
运算符优先级
JavaScript 运算符的优先级决定了表达式中运算的执行顺序。优先级高的运算符会先于优先级低的运算符执行。
优先级顺序(从高到低):
- 括号
()
- 一元运算符(如
++
、--
、!
) - 幂运算符
**
- 乘法、除法、取模运算符
*
、/
、%
- 加法、减法运算符
+
、-
- 比较运算符
>
、<
、>=
、<=
- 相等运算符
==
、!=
、===
、!==
- 逻辑与运算符
&&
- 逻辑或运算符
||
- 条件运算符
?:
- 赋值运算符
=
、+=
、-=
等
示例:
var result = 1 + 2 * 3; // 先计算 2 * 3,结果为 6,再计算 1 + 6,结果为 7
var result = (1 + 2) * 3; // 使用括号改变优先级,先计算 1 + 2,结果为 3,再计算 3 * 3,结果为 9
总结
JavaScript 运算符提供了丰富的功能,能够满足各种计算、比较、赋值等需求。了解并熟练运用这些运算符,有助于提高代码的可读性和效率。在实际开发中,建议根据具体需求选择合适的运算符,并注意运算符的优先级,以避免潜在的错误。