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

为什么JavaScript代码执行else分支而非预期的else-if分支?

问题原因及解决方法

问题的核心是严格相等比较的字符串存在空格差异:
你定义的变量day是"sunday"(末尾无空格),但对应周末分支的判断条件里,"saturday "和"sunday "的末尾都多了一个空格。

JavaScript的===属于严格相等运算符,会同时校验字符串的内容和长度,带空格的字符串和不带空格的字符串完全不相等,所以这个else-if分支的条件无法匹配,代码会跳过所有符合预期的分支,最终执行else分支的内容。

修复方法就是去掉条件字符串末尾的空格,修改后的代码片段如下:

else if (day === "saturday" || day === "sunday") {
  console.log("enjoy the weekend 🤭");
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 22:35:18