我无法找出我的代码的问题。输出应将某个范围内的每个数字相加(例如输入 1 和 2 将输出 3)。然而,1 和 3 无缘无故地输出 12。
function Sum(){
var int1=document.getElementById("TextBox1").value;
var int2=document.getElementById("TextBox2").value;
for(i=int1; i<=int2; i++){
var total=int1;
total+=i;
if(i==int2){
alert("The sum of all numbers is "+total);
}
}
}
function Sum(){
var int1=document.getElementById("TextBox1").value;
var int2=document.getElementById("TextBox2").value;
for(i=int1; i<=int2; i++){
var total=int1;
total+=i;
if(i==int2){
alert("The sum of all numbers is "+total);
}
}
}
<html>
<head>
<title>
For Sum Exercise
</title>
</head>
<body>
<script>
</script>
User Number 1:<input id="TextBox1"><br><br>
User Number 2:<input id="TextBox2"><br><br>
<button onClick="Sum()">Sum</button><br>
</body>
</html>
最佳答案
您需要从输入中获取一个数字。 value
来自字符串类型。带有 unary plus +
,你会得到一个号码。
您还需要声明i
。
提前声明total
并在循环外取零作为值。
循环后进行输出。
function Sum() {
var int1 = +document.getElementById("TextBox1").value,
int2 = +document.getElementById("TextBox2").value,
total = 0,
i;
for (var i = int1; i <= int2; i++) {
total += i;
}
document.getElementById("sum").innerHTML = "The sum of all numbers is " + total;
}
User Number 1: <input id="TextBox1"><br><br> User Number 2: <input id="TextBox2"><br><br>
<button onClick="Sum()">Sum</button><br>
<p id="sum"></p>
关于javascript - 尝试使用 for 循环将某个范围内的每个数字相加以创建总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60581873/