gpt4 book ai didi

javascript if 语句多个运算符失败

转载 作者:行者123 更新时间:2023-11-28 17:12:08 25 4
gpt4 key购买 nike

我有一个 if 语句来评估

if(expression || expression &&
expression || expression){

//logic
}

出于我无法理解的原因,and 运算符后面的 else 语句不会被求值。 if 语句是否有一些我不知道的规则?

这是我的代码:

const fillTable = function (array) {
let tbody = document.querySelector("#tblbody");
while (tbody.firstChild) {
tbody.removeChild(tbody.firstChild);
}
array.forEach(element => {
let region = regionOption.options[regionOption.selectedIndex].value;
let gender = genderOption.options[regionOption.selectedIndex].value;
elementGender = Object.values(element)[2];
elementRegion = Object.values(element)[3];
console.log(elementRegion + "+" + region);
console.log(elementGender + "+" + gender);

if (elementRegion === region || region === "All" &&
elementGender === gender || gender === "bot") {
let tr = document.createElement("tr");
tbody.appendChild(tr);
const values = Object.values(element);
values.forEach(element => {
let td = document.createElement("td");
td.appendChild(document.createTextNode(element));
tr.appendChild(td);
})
}
})
};

即使 if 语句中的性别不匹配,循环也会继续。

最佳答案

您可能会被运算符优先级所困扰。如果要对 && 之前和之后的 bool 表达式进行分组,请显式对它们进行分组:

if((expression || expression) &&
(expression || expression))

即使没有运算符优先级规则,最好始终清晰明确地表达您所表达的逻辑。

关于javascript if 语句多个运算符失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54154158/

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