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

JavaScript中OR语句条件判断不生效问题求助

条件判断逻辑错误解析

你的代码问题出在逻辑运算符的误用:你在if条件里用了||(逻辑或),但这里应该用&&(逻辑与)。

错误原因分析

当extension的值是'Sr.'时:

  • 第一个判断extension != "Jr."结果是true
  • 因为逻辑或||的规则是只要有一个条件为true,整个表达式就为true,所以后面的extension != "Sr."和extension != "I"根本不会被判断,直接进入if分支执行console.log("Should be false")。

不管extension是"Jr."、"Sr."还是"I",这个if条件都会成立:

  • 如果是"Jr.",extension != "Sr."为true
  • 如果是"I",extension != "Jr."为true
    所以永远走不了else分支。

修正后的代码

把||换成&&,表示同时不等于这三个值时才进入if分支,否则(等于其中一个)进入else:

var extension = "Sr.";
if (extension != "Jr." && extension != "Sr." && extension != "I") {
  console.log("Should be false");
} else {
  console.log("Should be True"); // 现在会执行这里
}

补充说明

  • ||(逻辑或):任意条件为true,整体结果为true
  • &&(逻辑与):所有条件都为true,整体结果才为true

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 06:08:12