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

JavaScript条件语句实现按年龄与国家输出对应提示的问题求助

代码问题修正

现有代码的错误点

  • 年龄边界不符合要求:要求的「未满18」是<18、「未满21」是<21,你用了<=会把18、21岁的场景错分到错误分支
  • 国家判断逻辑错误:不需要额外定义otherCountry变量,直接判断country变量是否等于'USA'即可,当前你写的&& country和&& otherCountry只是判断变量是否存在,永远为真,永远只会走到第一个匹配的分支
  • 输出字符串拼写、内容和要求不一致,存在漏字、错字问题
  • 包含多余的测试打印语句

修正后可直接运行的代码

const age = 20
const country = 'USA'

if (age < 16) {
  console.log("You're not old enough to do anything yet.")
} else if (age >= 16 && age < 18) {
  console.log("Be careful driving.")
} else if (age >= 18 && age < 21 && country === 'USA') {
  console.log("Go Vote!")
} else if (age >= 18 && age < 21 && country !== 'USA') {
  console.log("You can probably have some wine.")
} else {
  console.log("You're old enough to figure it out for yourself.")
}

优化建议

如果想减少重复的年龄判断,也可以把国家判断嵌套在18-21岁的分支内,代码更简洁:

const age = 20
const country = 'USA'

if (age < 16) {
  console.log("You're not old enough to do anything yet.")
} else if (age >= 16 && age < 18) {
  console.log("Be careful driving.")
} else if (age >= 18 && age < 21) {
  country === 'USA' ? console.log("Go Vote!") : console.log("You can probably have some wine.")
} else {
  console.log("You're old enough to figure it out for yourself.")
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 10:54:04