gpt4 book ai didi

javascript - 即使值与我设置的值不匹配,仍在执行 IF 语句

转载 作者:行者123 更新时间:2023-11-29 15:08:26 25 4
gpt4 key购买 nike

我找不到我的代码中可能遗漏或错误的地方,无论如何我已经创建了一个 if else 语句,我可以在以下情况下转到第一个条件:

变量一有一个“N”值并且变量二或变量三有一个“ValueOne”

变量一的值为“N”,变量四的值为“ValueTwo”或“ValueThree”

我的代码中的问题是,即使变量一中没有值,只要变量四具有正确的值,它就会进入第一个条件

您将在代码中看到的值不是我将使用的实际值,它只是一个示例。

我尝试使用这段代码来解决我的问题:

function testNum() {
var accessEquipment = "n";
var sync = "sample1";
var fiberServiceAlarm = "sample1";
var wanLight = "flashingRed";
var result1 = "success";
var result2 = "fail";

if (
(accessEquipment == "n" && (sync == "sample" || fiberServiceAlarm == "sample")) ||
(accessEquipment == "n" && (wanLight == "flashingGreen" || wanLight == "off" || wanLight == "flashingRed"))) {
return result1;
} else {
return result2;
}
}

这解决了问题,但我认为以这种方式编写代码不是很好。有什么办法不使 accessEquipment 加倍吗?

这是我想要工作的实际代码:这里面有什么我需要补充的吗?在这一个中,它仍然转到 IF STATEMENT 事件 accessEquipment 与我设置的值不匹配,只要 wanLight 具有 flashingRed 或其他值它仍然转到 IF STATEMENT。我想要的是,只有当 accessEquipment 有 N 并且 wanLight 有这三个值中的任何一个时,它才会通过那里。

function testNum() {
var accessEquipment = "na";
var sync = "sample1";
var fiberServiceAlarm = "sample1";
var wanLight = "flashingRed";
var result1 = "success";
var result2 = "fail";

if (accessEquipment == "n"
&& (sync == "sample" || fiberServiceAlarm == "sample")
|| (wanLight == "flashingGreen" || wanLight == "off" || wanLight == "flashingRed")
) {
return result1;
} else {
return result2;
}
}

最佳答案

需要加一对括号

if (accessEquipment == "n"
&& ((sync == "sample" || fiberServiceAlarm == "sample")
|| (wanLight == "flashingGreen" || wanLight == "off" || wanLight == "flashingRed")))

关于javascript - 即使值与我设置的值不匹配,仍在执行 IF 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57440204/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com