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

IF条件判断逻辑异常:为何输入符合条件仍触发错误提示?

条件判断逻辑错误分析

错误代码

let addOrRem = String(prompt("Do you want to add or remove any content? (add/rem)").trim().toLocaleLowerCase());

if(addOrRem !== "rem" || addOrRem !== "add") {
        alert("Invalid answer, try again!");
}

这段代码的核心问题是逻辑运算符使用错误:||(逻辑或)的逻辑会导致无论输入什么值,条件永远为true。具体来说:

  • 输入"rem"时,addOrRem !== "add"为true,整个||条件成立,触发提示;
  • 输入"add"时,addOrRem !== "rem"为true,同样触发提示;
  • 输入其他值时,两个子条件都为true,自然也触发提示。

可正常运行的嵌套IF代码

let addOrRem = String(prompt("Do you want to add or remove any content? (add/rem)").trim().toLocaleLowerCase());

if(addOrRem !== "rem") {
  if(addOrRem !== "add"){
    alert("Invalid answer, try again!");
  }    
}

嵌套IF的逻辑等价于&&(逻辑与):只有当输入既不是"rem"且不是"add"时,才会触发提示,完全符合需求。

更简洁的修正写法

无需嵌套IF,只需把错误代码里的||改成&&即可:

let addOrRem = String(prompt("Do you want to add or remove any content? (add/rem)").trim().toLocaleLowerCase());

if(addOrRem !== "rem" && addOrRem !== "add") {
        alert("Invalid answer, try again!");
}

内容的提问来源于stack exchange,提问作者外人です

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 12:25:17