You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript如何正确实现prompt输入数值的累加求和功能

代码错误说明

原代码无法实现正确累加,一共存在3处问题:

  • prompt 方法接收到的用户输入默认是字符串类型,未做数值转换就直接参与运算、比较,会触发非预期的隐式类型转换,甚至出现字符串拼接的情况,这也是输出123456这类拼接结果的核心原因
  • 变量逻辑混淆:把存储累加总和的sum变量直接当作for循环的自增计数器使用,循环控制逻辑完全错误
  • 累加逻辑错误:循环内没有把遍历到的每一个数加到总和上,反而直接对sum做+1操作,完全不符合1到输入值累加的计算规则
修正后代码
// 将用户输入的字符串转为整数类型
var num = parseInt(prompt("Enter a number"));
// 单独初始化累加总和变量,初始值为0
var sum = 0;
// 用独立变量i作为循环计数器,从1遍历到用户输入的数值
for (var i = 1; i <= num; i++) {
  // 将当前遍历到的数值累加到总和上
  sum += i;
}
// 输出最终计算结果
document.write(sum);
效果验证

当用户在弹窗输入6时,代码会依次计算1+2+3+4+5+6的结果,最终输出21,和预期效果完全一致。


内容的提问来源于stack exchange,提问作者javx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 14:51:20