【发布时间】:2019-01-11 21:17:59
【问题描述】:
我有一个 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 语句中的性别不匹配,循环也会继续。
【问题讨论】:
-
操作顺序... IDE 中内置的一个好的 linter 会为此大喊大叫。 :)
-
@epascarello 我正在为此使用 Visual Studio Code。没有警告:)
标签: javascript if-statement operators