JavaScript 比较运算符和逻辑运算符
JavaScript 比较运算符主要用于数值间的比较,比如相等,大小等。JavaScript 逻辑运算符主要对操作数进行逻辑运算。
JavaScript 比较运算符主要用于数值间的比较,比如相等,大小等。JavaScript 逻辑运算符主要对操作数进行逻辑运算。
比较运算符
JavaScript 比较运算符主要用于数值间的比较,比如相等,大小等。
运算符 | 说明 |
---|---|
== |
比较值是否相等 |
=== |
比较值和类型是否相等 |
!= |
比较值是否不相等 |
!== |
比较值和类型是否不相等 |
> |
大于 |
< |
小于 |
>= |
大于等于 |
<= |
小于等于 |
比较运算符示例:
示例 | 结果 | 尝试一下 |
---|---|---|
x == 8 |
false |
|
x == 5 |
true |
|
x == "5" |
true |
|
x === 5 |
true |
|
x === "5" |
false |
|
x != 8 |
true |
|
x !== 5 |
false |
|
x !== "5" |
true |
|
x !== 8 |
true |
|
x > 8 |
false |
|
x < 8 |
true |
|
x >= 8 |
false |
|
x <= 8 |
true |
如何使用
比较运算符常用在条件语句中进行条件运算,条件语句会根据运算结果采取相应的动作。
if (age < 18) text = "年纪太小了";
您将在本教程的以后的章节中了解有关使用条件语句的更多信息。
逻辑运算符
逻辑运算符用于对 1 个或 2 个操作数进行逻辑运算。当操作数是布尔值的时候,返回的也是布尔值。当操作数为非布尔值的时候,返回的可能也是非布尔值。
鉴于 x = 6
和 y = 3
,下表解释了逻辑运算符:
操作符 | 名称 | 说明 | 尝试一下 |
---|---|---|---|
&& |
逻辑与 | 当两个操作数都是 true 的时候返回 true, 否则返回 false。 | |
|| |
逻辑或 | 当两个操作数都是 false 的时候返回 false, 否则返回 true | |
! |
逻辑非 | 当操作数为 true,返回 false;当操作数为 false,返回 true。 |
条件(三元)运算符
条件(三元)运算符是 JavaScript 仅有的使用三个操作数的运算符。一个条件后面会跟一个问号(?
),如果条件为真(true
),则问号后面的表达式 A 将会执行;表达式 A 后面跟着一个冒号(:
),如果条件为假(false
) ,则冒号后面的表达式 B 将会执行。
句法
condition ? exprIfTrue : exprIfFalse
参数说明:
-
condition
计算结果用作条件的表达式
-
exprIfTrue
如果表达式
condition
的计算结果是 truthy(它和 true 相等或者可以转换成 true ),那么表达式 exprIfTrue 将会被求值。 -
exprIfFalse
如果表达式
condition
的计算结果是 falsy(它可以转换成 false ),那么表达式 exprIfFalse 将会被执行。
例子
let voteable = x < 18 ? "太小" : "可用";
如果变量 x 是小于 18 的值,则变量 voteable 的值为 “太小”,否则变量 voteable 的值为 “可用”。
比较不同类型
比较不同类型的数据可能会产生意想不到的结果。
将字符串与数字进行比较时,JavaScript 会在进行比较时将字符串转换为数字,将空字符串转换为 0,将非数字字符串转换 NaN
。
示例 | 结果 | 尝试一下 |
---|---|---|
2 < 12 |
true |
|
2 < "12" |
true |
|
2 < "John" |
false |
|
2 > "John" |
false |
|
2 == "John" |
false |
|
"2" < "12" |
false |
|
"2" > "12" |
true |
|
"2" == "12" |
false |
比较两个字符串时,“2”将大于“12”,因为(按字母顺序)1 小于 2。
为了获得正确的结果,变量应该在比较之前转换为正确的类型:
age = Number(age);
if (isNaN(age)) {
voteable = "输入的不是数字";
} else {
voteable = age < 18 ? "太小" : "可以";
}