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

使用for循环计算自然数之和:代码无法正常运行问题排查

修复计算前10个自然数和的JavaScript代码问题

你的代码无法正常运行的关键原因是没有将prompt输入的结果赋值给变量n:

  • 代码里只执行了parseInt(prompt("Enter the number: ")),但没有把这个值存到n中,导致n始终是undefined。
  • 循环条件i <= n在n为undefined时不成立,循环体完全不会执行,最终弹出的和永远是初始值0。

方案1:固定计算前10个自然数的和

如果需求是固定计算前10个自然数(1到10)的和,直接给n赋值为10即可,不需要用户输入:

<!DOCTYPE html>
<html>
<head>
    <title>Sum of first 10 Natural numbers</title>
</head>
<body>
    <script>
       var sum = 0;
       const n = 10; // 固定前10个自然数
       for (let i = 1; i <= n; i++) { // 自然数从1开始,若需包含0可改回i=0
        sum += i; 
       }
       alert("Sum of Numbers: " + sum);
    </script>
</body>
</html>

方案2:保留用户输入功能的修复版

如果需要让用户输入数字来计算前N个自然数的和,要把parseInt的结果赋值给n,同时处理用户输入无效的情况:

<!DOCTYPE html>
<html>
<head>
    <title>Sum of first N Natural numbers</title>
</head>
<body>
    <script>
       var sum = 0;
       // 将输入结果赋值给n,并处理非数字输入
       const input = prompt("Enter the number: ");
       const n = parseInt(input);
       
       // 验证输入是否为有效正整数
       if (!isNaN(n) && n > 0) {
           for (let i = 1; i <= n; i++) {
            sum += i; 
           }
           alert("Sum of Numbers: " + sum);
       } else {
           alert("请输入一个有效的正整数!");
       }
    </script>
</body>
</html>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 07:48:43