javascript中数字字符串的词法比较

Rai*_*e77 1 html input

我用 html 写了一个函数来找出最大数量。但它得到了错误的结果。

谁能说我做错了什么?谢谢!

代码如下

  <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
    <input type="text" id="number1">
    <input type="text" id="number2">
    <input type="text" id="number3">
    <input type="button" id="button" value="?????" onclick="fun()">
    <input type="text" id="maxnumber">
    <script>
        function fun(){
             var number1 = document.getElementById('number1').value;
             var number2 = document.getElementById('number2').value;
             var number3 = document.getElementById('number3').value;
             var max=0;
             max=(number1>number2?number1:number2);
             var max=(max>number3?max:number3);
             document.getElementById('maxnumber').value=max;
         }
        </script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

Que*_*tin 5

读取valueHTMLInputElement 对象的属性值给出字符串,因此您正在将字符串 "100"与字符串进行比较"3"

这确实由字母一个字母比较字母,直到有差异,"3" > "1"就像"b" > "a"

首先将字符串转换为数字。例如使用+,parseIntNumber