首页 > 解决方案 > 如果只有一个条件为真,是否有一个逻辑运算符返回真?

问题描述

我正在尝试编写一个函数,如果一个或两个参数不是数字或小于 0,则返回“ERROR”。

if (Number.isNaN(num1) || Number.isNaN(num2) || num1 < 0 || num2 < 0)
{
    return "ERROR";
}

只有当它们都为真时,逻辑 OR 才会返回真,对吗?逻辑与也会做同样的事情。另外,我不能使用 Not 运算符,因为这会干扰函数中的其他 else if。

很抱歉,如果这已经被问到了,但我找不到它。

标签: javascriptboolean-logic

解决方案


如果其中任何一个为真,逻辑或将返回真。如果所有内容都是真实的,逻辑 AND 将返回真实。如果您只想要一个,则没有逻辑异或,而是与^.

但我认为在您的情况下,逻辑 OR 是完全可以接受的,因为您正在验证输入。


推荐阅读