Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查A或B但不能同时检查两者的状态_Javascript_Conditional Statements - Fatal编程技术网

Javascript 检查A或B但不能同时检查两者的状态

Javascript 检查A或B但不能同时检查两者的状态,javascript,conditional-statements,Javascript,Conditional Statements,我有一个普通javascript中的条件语句来检查a或B const A = true const B = true if (A || B) { return 'X' } 问题 我想将此更改为检查A或B,但不是同时检查A和B。因此,如果两者都匹配,则不返回X 如果已经回答了,请告诉我一个类似的问题。我在搜索时遇到了问题。我只是得到SQL和正则表达式的答案。这是一个EXOR实现,可以通过以下方式完成 const A = true const B = true if ( A != B))

我有一个普通javascript中的条件语句来检查a或B

const A = true
const B = true

if (A || B) {
  return 'X'
}
问题 我想将此更改为检查A或B,但不是同时检查A和B。因此,如果两者都匹配,则不返回X



如果已经回答了,请告诉我一个类似的问题。我在搜索时遇到了问题。我只是得到SQL和正则表达式的答案。

这是一个EXOR实现,可以通过以下方式完成

const A = true
const B = true

if ( A != B)) {
  return 'X'
}
试试这个

const A = true
const B = true

if ((A || B) && (A != B)) {
  return 'X'
}
你可以任其一

if (!a || !b) {
    // your code
}
或者相当于使用

真相表:

A. B 结果 假的 假的 真的 假的 真的 真的 真的 假的 真的 真的 真的 假的
听起来像是异或,你可以用!=b在大多数编程语言中。你能给我解释一下吗?我如何表达它以使条件通过if语句中的所有三个条件?如果你否决这个问题或希望它关闭,请解释为什么,我将尝试改进这个问题。这是一个看似简单的问题,我已经用了半个小时的时间来思考这个问题。请帮助。@404我已经更新了问题以澄清,请告诉我现在是否更清楚。如果您为
a
b
和想要的结果添加一个真理表,会更容易。这并没有回答op的问题。如果A==true | | B==true,他们想要true,但如果A&&B==true,他们就不想要true那么你想要的是相反的,如果我没有理解错的话?你误解了。
A | | B
是多余的,但是逻辑是正确的。这不起作用,因为如果两个条件都为false,那么它不会返回X。我正在用一个示例更新我的问题,并删除pseudo以使其更清楚。这是现在最好的实现-OP只在一个条件下需要false,因此不需要检查除该条件之外的任何内容,也就是说,两者都不是真的。
if (!(a && b)) {
    // your code
}