以下代码应打印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;
我得到的输出字面上是xy。如果我输入x = 1和y = 2,我得到12.
如果我只是在没有函数的情况下将js代码放入正文中,我也会遇到同样的问题。我无法找到我的错误。可能是我的编辑吗?
答案 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();
生成整数,然后执行添加:
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;
只是为了好玩,这是一个更短的方法:
String[] sentences = newLine.split(splitcsv);
&#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."));