您好,我想知道有更好的方法吗? condition_a比b更重要,b比c等更重要。
var slot = condition_a
if (!slot) {
slot = condition_b
if (!slot) {
slot = condition_c
if (!slot) {
slot = condition_d
if (!slot) {
slot = condition_e
}
}
}
}
if (slot) {
//do something
}
答案 0 :(得分:3)
你做OR:
if (condition_a || condition_b || condition_c || condition_d || condition_e) {
// do something
}
这相当于您的代码。如果条件评估为true
,则不会检查以下条件(它被称为short circuit evaluation)。它可以进行这样的检查:
if (a===null || a.b===0) {
请注意,在同一个地方有这么多条件看起来像代码味道:可能还有一些在语义上没有设计的东西。
答案 1 :(得分:0)
答案 2 :(得分:-1)
如果您需要slot
来获得一个值(而不是仅仅使用它来测试最后的条件)
var slot = condition_a || condition_b || condition_c || condition_d || condition_e;
if (slot) {
// do soemthing
}