javascript没有返回所需的值

时间:2018-04-30 04:41:05

标签: javascript

我尝试使用html和JavaScript实现以下简单的等式(5+x=?)

function count() {
  var x = document.getElementById("myInput").value;
  document.getElementById('execute').innerHTML = x + 5;
}
<div> 5 + <input type="number" id="myInput">
  <input type="button" value="=" onclick="count()">
  <span id="execute">?</span>
</div>

不幸的是,当我在输入字段中编写示例2,然后单击按钮(=)时,它给出了我的答案52号,而不是我想看到的答案 - 7.

它似乎只是加入5旁边的新数字,而不是添加它,就像它是一个字符串而不是一个数字。我知道这不是最明亮的功能而且它不是很有用,但如果你能给我一个我错的地方,我将不胜感激。

这将帮助我理解更好的JavaScript并继续我的教育。

2 个答案:

答案 0 :(得分:2)

我希望这会有所帮助。谢谢。

    function count()
    {var x = document.getElementById("myInput").value;
        document.getElementById('execute').innerHTML = parseInt(x) + 5;}
<div> 5 + <input type="number" id="myInput">
    <input type="button" value="=" onclick="count()">
    <span id="execute">?</span>
    </div>  

答案 1 :(得分:0)

将字符串更改为数字的几种方法,对于此示例,我使用parseInt(),其中10为基数。

function count() {
  var x = document.getElementById("myInput").value;
  var xn = parseInt(x,10);
  document.getElementById('execute').innerHTML = xn + 5;
}
<div> 5 + <input type="number" id="myInput">
  <input type="button" value="=" onclick="count()">
  <span id="execute">?</span>
</div>