1

当我在代码中使用大于或小于符号 ( < >) 时,它会返回错误的结果 - 例如,当我输入 2 和 10 时,它会返回 2 更大而 10 更小!

我知道我可以使用Math.max(a,b)它然后返回正确的结果,但我想知道:为什么它返回错误的结果?我错了吗?

请为我解释一下。谢谢你。(;

这是代码:

<!DOCTYPE html>
<html>
<head>
    <title>showing the bigger an smaller number</title>
    <meta charset="utf-8">
    <script>
        function b(){ 
            var a=document.getElementById("a").value;
            var b=document.getElementById("b").value;
            if (a>b){document.getElementById("o").innerHTML="a is bigger : "+a}
            else {if (a<b){document.getElementById("o").innerHTML="b is bigger : "+b}}
        }
        function k(){ 
            var a=document.getElementById("a").value;
            var b=document.getElementById("b").value;
            if (a>b){document.getElementById("o").innerHTML="b is smaller : "+b}
            else {if (a<b){document.getElementById("o").innerHTML="a is smaller : "+a}}
        }
    </script>
    <style>
       small {
           font-family:"Comic Sans MS", cursive;
           color:#666;
       }
       input { 
           height:30px;
           width:175px;
        }
    </style>
</head>
<body>
    <input type="number" id="a" placeholder="type first Number here"></input><b>&nbsp;</b>
    <input  type="number" id="b" placeholder="type second number here"></input>
    <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <button onClick="b();">show me the bigger Number</button>
    <button onclick="k();">show me the smaller Number</button>
    <br><b></b>
    <br><small id="o">&nbsp;</small>
</body>
</html>

对不起,如果我的英语不好。

4

2 回答 2

4

尝试将值解析为浮点数。目前,您正在比较字符串:

var a = parseFloat(document.getElementById("a").value),
    b = parseFloat(document.getElementById("b").value);

当然,如果用户输入的不是有效的数值,这将导致问题......

于 2013-07-07T10:11:36.320 回答
2

您可以使用!=(不等于)或!==(不完全相同)关系运算符代替<>.

于 2013-07-07T10:23:06.740 回答