不等于<>操作员不工作

时间:2013-07-07 10:09:08

标签: javascript

当我在代码中使用大于或小于符号(< >)时,它会返回错误的结果 - 例如,当我输入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>

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

3 个答案:

答案 0 :(得分:4)

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

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

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

答案 1 :(得分:1)

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

答案 2 :(得分:-2)

与HTML混合的代码中的<>通常会带来麻烦,因为这些是html的特殊字符。最好将脚本移动到单独的文件中,并从html链接到它。