JavaScript 比较

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

比较运算符

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

我们给定 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。非数值字符串将被转换为始终为 falseNaN

案例

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>

输入前:

输入数字:

输入文字:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值