JavaScript 比较和逻辑运算符

比较和逻辑运算符用于测试 true 或 false。


比较运算符

比较运算符在逻辑语句中使用,以判定变量或值是否相等。

我们给定 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

如何使用

比较运算符可用在条件语句中对值进行比较,并根据结果采取动作:

  1. if (age < 18) text = "太年轻";

逻辑运算符

逻辑运算符用于判定变量或值之间的逻辑。我们给定 x = 6 且 y = 3,下表解释了逻辑运算符:

运算符描述例子
&&(x < 10 && y > 1) 为 true
||(x == 5 || y == 5) 为 false
!!(x == y) 为 true

条件(三元)运算符

JavaScript 也包含了可基于某些条件向变量赋值的条件运算符。

语法
  1. variablename = (condition) ? value1:value2

如果变量 age 的值小于 18,变量 voteable 的值将是 "太年轻",否则变量 voteable 的值将是 "足够成熟"。


比较不同的类型

比较不同类型的数据也许会出现不可预料的结果。如果将字符串与数字进行比较,那么在做比较时 JavaScript 会把字符串转换为数值。空字符串将被转换为 0。非数值字符串将被转换为始终为 false 的 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。为了确保正确的结果,在比较值前应该把变量转换为合适的类型:

  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <p>输入您的年龄然后点击这个按钮:</p>
  5. <input id="age" value="18">
  6. <button onclick="myFunction()">试一试</button>
  7. <p id="demo">
  8. <script>
  9. function myFunction() {
  10. var age, voteable;
  11. age = document.getElementById("age").value;
  12. voteable = (age < 18) ? "好年轻":"够成熟";
  13. document.getElementById("demo").innerHTML = voteable;
  14. }
  15. </script>
  16. </body>
  17. </html>