js添加脚本无法正常工作

时间:2016-01-26 18:24:20

标签: javascript function math addition

以下代码应打印x和y的SUM。它适用于W3编辑器,但不适用于我的Sublime?我不明白为什么。



function add () {
    var x = prompt("Enter a number.");
    var y = prompt("Enter another number.");
    var a = x + y;
    alert(a);
    }

<script>
  add();
  </script>
&#13;
&#13;
&#13;

我得到的输出字面上是xy。如果我输入x = 1和y = 2,我得到12.
如果我只是在没有函数的情况下将js代码放入正文中,我也会遇到同样的问题。我无法找到我的错误。可能是我的编辑吗?

4 个答案:

答案 0 :(得分:4)

制作

function add () {
    var x =parseInt(prompt("Enter a number."),10);
    var y = parseInt(prompt("Enter another number."),10);
    if ( !isNaN(x) && !isNaN(y) )
    {
      var a = x + y;
      alert(a);
    }
    else
    {
      alert("One of the numbers is not valid");
    }
}

您需要先将从提示中收到的字符串解析为整数。

答案 1 :(得分:1)

值是字符串,因此parseInt()运算符将其视为字符串连接。使用function add () { // Best to include radix with parseInt var x = parseInt(prompt("Enter a number."), 10); var y = parseInt(prompt("Enter another number."), 10); // Quick and dirty check for NaN if(!(x != x) && !(y != y)) { var a = x + y; alert(a); } else { alert("Both inputs must be valid integers!"); } } add();生成整数,然后执行添加:

&#13;
&#13;
function add () {
    var x = +prompt("Enter a number."),
        y = +prompt("Enter another number.");
    alert((!(x != x) && !(y != y)) ? x + y : "Both values must be integers!");
}

add();
&#13;
&#13;
&#13;

只是为了好玩,这是一个更短的方法:

&#13;
&#13;
String[] sentences = newLine.split(splitcsv);
&#13;
&#13;
&#13;

答案 2 :(得分:0)

您可以使用:

function add () {
    var x = Number(prompt("Enter a number."));
    var y = Number(prompt("Enter another number."));
    var a = x + y;
    alert(a);
}

答案 3 :(得分:0)

我认为这是因为提示返回类型字符串。尝试使用

parseInt()

功能。所以

var x = parseInt(prompt("Enter a number."));