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

JavaScript条件语句问题:年龄判断学校函数无法通过测试求排查

问题排查与代码修正

嘿,我一眼就看到问题出在哪了——你的代码里有几个致命的语法小错误,直接搞乱了整个逻辑判断,这肯定过不了自动化测试!

核心错误分析

  • 多余的分号破坏条件逻辑:每个if和else if语句末尾的分号;是罪魁祸首!在JavaScript里,if (age < 13);里的分号会被解析成一个空语句,意味着条件判断后什么都不执行,紧接着的{}就变成了一个独立的代码块。不管age的值是多少,第一个代码块里的return "Elementary School"都会直接执行,后面的else if分支根本没机会触发。这就导致所有输入都会返回同一个结果,测试自然失败。
  • 冗余的条件判断:最后一个else if (age >= 19)完全没必要,因为前面已经覆盖了age <13和13<=age<=18的情况,剩下的所有情况(不管是18.5还是200)都应该返回"College",用else更简洁也更严谨。

修正后的代码

function whichSchool(age) { 
    if (age < 13) { 
        return "Elementary School"; 
    } else if (age >= 13 && age <= 18) { 
        return "Secondary School"; 
    } else { 
        return "College"; 
    } 
}

额外提一句:return语句里的括号是多余的,JavaScript允许直接返回值,加括号虽然不报错,但去掉会让代码更规范简洁。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 08:12:21