最新的Web开发教程
 

JavaScript比较和逻辑运算符


比较和逻辑运算符用来测试truefalse


比较运算符

比较运算符在逻辑语句用来确定变量或值之间的平等或差异。

鉴于x = 5 ,下表说明了比较运算符:

操作者 描述 对比 返回 尝试一下
== 等于 x == 8false 尝试一下 ”
x == 5true 尝试一下 ”
x == "5"true 尝试一下 ”
=== 同等价值和平等的类型 x === 5true 尝试一下 ”
x === "5"false 尝试一下 ”
!= 不平等 x != 8true 尝试一下 ”
!== 不等于价值或不等于类型 x !== 5false 尝试一下 ”
x !== "5"true 尝试一下 ”
x !== 8true 尝试一下 ”
> 比...更棒 x > 8false 尝试一下 ”
< 少于 x < 8true 尝试一下 ”
>= 大于或等于 x >= 8false 尝试一下 ”
<= 小于或等于 x <= 8true 尝试一下 ”

它可以如何使用

比较运营商可以在条件语句中使用值进行比较,并根据结果采取行动:

if (age < 18) text = "Too young";

您将了解更多有关本教程的下一章使用条件语句。


逻辑运算符

逻辑运算符被用来确定变量或值之间的逻辑。

鉴于x = 6和y = 3 ,下表说明了逻辑运算:

操作者 描述 尝试一下
&&and (x < 10 && y > 1) is true 尝试一下 ”
||or(x == 5 || y == 5) is false 尝试一下 ”
!not !(x == y) is true 尝试一下 ”

条件(三元)运算符

的JavaScript还包含一个值分配给基于一些条件的变量的条件运算。

句法

variablename = ( condition ) ? value1 : value2  

var voteable = (age < 18) ? "Too young":"Old enough";
试一试»

如果变量年龄为18岁以下的值,变量voteable的值将是“太年轻”,否则voteable的值将是“老足够”。


比较不同类型

比较不同类型的数据可能会出现意想不到的结果。

在比较了一些字符串,JavaScript的做比较时将字符串转换为数字。 空字符串转换为0的非数字字符串转换成NaN这始终是假的。

案件 尝试
2 < 12true 尝试一下 ”
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 = "Error in input";
} else {
    voteable = (age < 18) ? "Too young" : "Old enough";
}
试一试»

JavaScript的位运算符

运营商位在32位的数字工作。

在操作任何数字操作数被转换成一个32位的数字。

结果被转换回一个JavaScript号码。

操作者 描述 与...一样 结果 十进制
& AND x = 5 & 1 0101 & 0001 0001 1
| OR x = 5 | 1 0101 | 0001 0101 5
~ NOT x = ~ 5  ~0101 1010 10
^ XOR x = 5 ^ 1 0101 ^ 0001 0100 4
<< Left shift x = 5 << 1 0101 << 1 1010 10
>> Right shift x = 5 >> 1 0101 >> 1 0010 2

上述使用4位无符号的示例表。 但JavaScript使用32位有符号数。
正因为如此,在JavaScript中,〜5将不会返回10.它将返回-6:
〜00000000000000000000000000000101将返回11111111111111111111111111111010

x = 5 & 1;

结果以x:

1
试一试»

x = 5 | 1;

结果以x:

5
试一试»

x = 5 >> 1;

结果以x:

2
试一试»

x = 5 << 1;

结果以x:

10
试一试»

x = ~ 5;

结果以x:

-6
试一试»

自测练习用!

练习1» 练习2» 练习3» 练习4» 练习5» 练习6»