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

简单if-else函数返回结果异常,周一/二/三未触发预期分支

代码问题排查与修复

你的问题出在这一行条件判断:

else if (day == "Sunday" || "Thursday")

JavaScript 中逻辑或运算符 || 需要左右两侧都是完整的布尔表达式。你这里右边的 "Thursday" 是一个非空字符串,在布尔判断中会被直接解析为 true。这就意味着,只要前面的周六、周五条件不成立,这个分支的条件就永远为真,所以周一、周二、周三都会进入这个分支返回 "Set alarm for 4:50am",而不会走到最后的 else。

正确的写法应该是为每个条件都完整判断 day 的值:

else if (day == "Sunday" || day == "Thursday")

修正后的完整代码:

let day = "Monday"

function alarmTime(day) {
  if (day == "Saturday") {
    return "Set alarm for 8:00am"
  } else if (day == "Friday") {
    return "Set alarm for 5:35am"
  } else if (day == "Sunday" || day == "Thursday") {
    return "Set alarm for 4:50am"
  } else {
    return "Set alarm for 7:00am"
  }
}

console.log(alarmTime(day)); // 现在会输出 "Set alarm for 7:00am"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 19:50:29