比较和逻辑运算符用于测试 true
或 false
。
比较运算符
比较运算符在逻辑语句中使用,以判定变量或值是否相等。
我们给定 x = 5,下表中解释了比较运算符:
运算符 | 描述 | 比较 | 返回 |
== | 等于 | 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 = "太年轻";
逻辑运算符
逻辑运算符用于判定变量或值之间的逻辑。
我们给定 x = 6 且 y = 3,下表解释了逻辑运算符
运算符 | 描述 | 例子 |
&& | 与 | (x < 10 && y > 1) 为 true |
|| | 或 | (x == 5 || y == 5) 为 false |
! | 非 | !(x == y) 为 true |
条件(三元)运算符
JavaScript 也包含了可基于某些条件向变量赋值的条件运算符
语法格式:
variablename = (condition) ? value1:value2
<!DOCTYPE html>
<html lang="en">
<body>
<P>输入您的年龄然后点击这个按钮</P>
<input id="age" value="18" />
<button onclick="myFunction()">点击</button>
<P id="demo"></P>
<script>
function myFunction() {
var age, voteable;
age = document.getElementById("age").value;
voteable = (age < 18) ? "好美" : "好年轻";
document.getElementById("demo").innerHTML = voteable;
}
</script>
</body>
</html>
点击前:
点击后:
如果变量 age 的值小于 18,变量 voteable 的值将是 "好美",否则变量 voteable 的值将是 "好年轻"。
比较不同的类型
比较不同类型的数据也许会出现不可预料的结果。
如果将字符串与数字进行比较,那么在做比较时 JavaScript 会把字符串转换为数值。空字符串将被转换为 0。非数值字符串将被转换为始终为 false
的 NaN
。
案例 | 值 |
2 < 12 | true |
2 < "12" | true |
2 < "Bill" | false |
2 > "Bill" | false |
2 == "Bill" | false |
"2" < "12" | false |
"2" > "12" | true |
"2" == "12" | false |
当比较两个字符串时,"2" 大于 "12",因为(按照字母排序)1 小于 2。
为了确保正确的结果,在比较值前应该把变量转换为合适的类型:
<!DOCTYPE html>
<html lang="en">
<body>
<p>请输入您的年龄然后点击按钮</p>
<input id="age" value="18"/>
<button onclick="myFunction()">点击</button>
<P id="demo"></P>
<script>
function myFunction(){
var age,voteable;
age=Number(document.getElementById("age").value);
if(isNaN(age)){
voteable="输入值不是数字"
}else{
voteable = (age < 18) ? "好美" : "好年轻";
}
document.getElementById("demo").innerHTML=voteable;
}
</script>
</body>
</html>
输入前:
输入数字:
输入文字: