简单的JavaScript代码,用于最大和最小不工作

时间:2015-05-23 17:53:24

标签: javascript

我变得疯狂,试图理解JS中这段非常简单的代码中的错误:

   <html>
   <head>
   <script type="text/JavaScript"> 
   conta=0;
   function numero()
        {
        var num= document.getElementById("n").value;
        if(conta==0)
           {
            min= num;
            mas=num;
            }

        if(mas<num)
          {
          mas= num;
          }

        if(min>num)
          {
          min=num;
          }
        conta++;
        document.getElementById("massimo").value= mas;
        document.getElementById("minimo").value= min;
        document.getElementById("conta").value= conta;
        }
    </script>
    </head>
    <body>

    <form>
    Valore: <input id="n" type="text"> <input value="Inserisci" onclick="numero()" type="button">
    <br>
    Massimo: <input id="massimo" type="text"> Minimo: <input id="minimo" type="text"> Contatore: <input id="conta" type="text">
    </form>
    </body>
    </html>

它应该非常简单:您将数字放在id =“n”的输入文本中,然后单击一个调用numero()函数的按钮。问题是它不起作用!例如,如果我先将数字33和数字6数字,则数字6被认为是最大值!

似乎是指令(mas

我很确定有一些非常愚蠢的错误,但我无法发现它。非常感谢大家的帮助!

吉安卡洛 - 意大利

2 个答案:

答案 0 :(得分:2)

您需要在阅读时将值转换为数字。如果需要整数,请使用parseInt如果需要支持浮点数,请使用parseFloat

function numero()
{
  var num= parseInt(document.getElementById("n").value, 10);
  if(conta==0)
  {
    min= num;
    mas=num;
  }
  if(mas<num)
  {
    mas= num;
  }
  if(min>num)
  {
    min=num;
  }
  conta++;
  document.getElementById("massimo").value= mas;
  document.getElementById("minimo").value= min;
  document.getElementById("conta").value= conta;
}

答案 1 :(得分:1)

您可以使用parseInt,parseFloat,也可以使用加号(+)前缀vars。请注意,您可以使用Math.max()和Math.min()。例如:

Math.min(2, 6); /*returns 2*/
Math.min(1, 2, 6, 9, 20) ; /*returns 1*/

此外,如果您拥有数组中的值,则可以使用Function.prototype.apply()来使用这些函数:

Math.min.apply(null, [3,5,8,9,30]); /*returns 3*/