这给了我字符串:“01234”而不是1 + 2 + 3 + 4 = 10,为什么? 我想得到不是字符串数字的总和。 感谢。
<script type="text/javascript">
var i=1;
var totale=0;
var index = Array();
var domanda = 0;
while (domanda !== "end") {
domanda = prompt("Write a number, the total so far is: "+totale);
index[i]=domanda;
totale += index[i];
i++;
}
document.writeln("total: " + totale);
document.writeln("ended");
</script>
答案 0 :(得分:2)
因为prompt()
(你不应该使用它)返回一个字符串
将回报换成parseInt(domanda)
会解决问题。
答案 1 :(得分:0)
就像这样:
index[i]=Number(domanda);
完整脚本
<script type="text/javascript">
var i=1;
var totale=0;
var index = Array();
var domanda = 0;
do {
domanda = prompt("Write a number, the total so far is: "+totale);
if (domanda !== "end" && !isNaN(Number(domanda)))
{
index[i]=Number(domanda);
totale += index[i];
i++;
}
} while (domanda !== "end")
document.writeln("total: " + totale);
document.writeln("ended");
</script>
答案 2 :(得分:0)
您需要parseInt
从提示符返回的值,否则您将连接字符串。
index[i]= parseInt(domanda);
您可能想要检查输入值是否也是一个数字。
答案 3 :(得分:0)
使用内置parseInt
的JavaScript,这会创建一个传递给它的任何内容的int,因此:parseInt(value);