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

JavaScript嵌套if语句语法错误排查 年龄判断退休提示功能运行异常

代码问题说明与修正方案

现存问题

  • 成年判断阈值错误:要求年满18周岁即判定为成年,原代码写的是Age >= 19,会导致18岁用户被误判为未成年。
  • 分支逻辑匹配错误:两个if语句为平级关系,第二个if (Age >= 65)的else分支会和该if语句绑定,导致18-64岁的成年用户在触发成年提示后,会因不满足≥65的条件,误触发未成年提示。
  • 未符合嵌套if的要求:退休年龄判断仅需要对成年用户执行,原代码的退休判断是全局执行,未成年用户也会走这个判断分支,不符合练习要求。

修正后代码

<script type="text/javascript">
    var Name;
    var Age;
        
    Name = prompt("Please enter your name.", "full name");
    Age = parseInt(prompt("Please enter your age.", "age in numerals"));
        
    // 外层判断是否成年
    if (Age >= 18) {
        alert("Hello " + Name + " you are an adult.");
        // 嵌套判断是否退休,仅成年用户执行
        if (Age >= 65) {
            alert("You are retired!");
        }
    } else {
        // 仅未成年用户走该分支
        alert("Hello " + Name + " you are a child.");
    }
</script>

修正说明

调整后仅在用户年龄≥18时,才会执行内部的退休年龄判断,else分支仅和最外层的成年判断绑定,完全符合预期输出逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 04:54:04