var b = someObjectThatWillNotBeNull;
var a = getA();
if(a != null) {
if(a.id == b.id) {
functionA();
} else {
functionB();
}
} else {
functionB();
}
我经常遇到这种结构,并且总是需要复制 functionB 所在的代码。只是看起来有点草率。有一个更好的方法吗?
var b = someObjectThatWillNotBeNull;
var a = getA();
if(a != null) {
if(a.id == b.id) {
functionA();
} else {
functionB();
}
} else {
functionB();
}
我经常遇到这种结构,并且总是需要复制 functionB 所在的代码。只是看起来有点草率。有一个更好的方法吗?
if (a != null && a.id == b.id) {
functionA();
} else {
functionB();
}
你的意思是这样的吗?
这有点简单:
if (a == null || a.id != b.id)
functionB();
else
functionA();
在这里,我们利用 && 运算符的优势,因为第一个 exp 将被评估为真,那么只有下一个 exp 将在 if() 语句中被评估
if(a != null && a.id==b.id) {
functionA();
}
else {
functionB();
}