我有一个使用||的If语句与&&运算符,例如if((a || b)&& c)然而它只适用于第一个条件,即a但不是第二个即b,即使运行调试器我可以看到条件满足并且它转到正确的代码行。是否有更好的方法可以在两种情况下都能使用它?
我现在的代码:
/Applications/XAMPP/xamppfiles/htdocs/onlineshopping/insertproductitems.php
我也尝试了以下内容:
function _getCatFormGUID(catName) {
debugger;
var dept = Browser.getValue(getElement("126D81CA203C21CF014C8A3550227892FE4B4A6A"));
if((catName == '1' && dept == "Entwicklung") || (catName == '7' && dept == "Entwicklung")){
return "A270AE7F957A74EF0842403EEA0032017567F3E8";
}
if((catName == '1' && dept != "Entwicklung") || (catName == '7' && dept != "Entwicklung")) {
return "8EDD0768A7CDF8FD8AE90DB473F41EF0B33FA14F";
}
return "";}
和
if((catName == '1' || catName == '7') && dept == "Entwicklung"){
return "A270AE7F957A74EF0842403EEA0032017567F3E8";
}
它只返回catName =='1'。
答案 0 :(得分:1)
如果我理解你的问题,我会把你的第一段代码写成下面的
function _getCatFormGUID(catName) {
var dept = Browser.getValue(getElement("126D81CA203C21CF014C8A3550227892FE4B4A6A"));
if (catName == '1' || catName == '7') {
if(dept == 'Entwicklung'){
return "A270AE7F957A74EF0842403EEA0032017567F3E8";
}
else{
return "8EDD0768A7CDF8FD8AE90DB473F41EF0B33FA14F";
}
}
else{
return "";
}
}
答案 1 :(得分:0)
问题在于你必须理解这两个逻辑运算符如何进行比较:因为你的第一个条件catName == '1'
为真,它将永远不会从第一个括号或第二个副词进入第二个条件。 br />
根据你的例子,你可以改写你的逻辑条件:
if((catName == '1' && dept == "Entwicklung") || (catName == '7' && dept == "Entwicklung")){
return "A270AE7F957A74EF0842403EEA0032017567F3E8";
}
到
if(dept == "Entwicklung" && catName == '1' || catName == '7'){ return something; }
}