有没有一种优雅的方法来解决这个问题?
if (condition0) {
if(condition1) {
do thing 1
}
else if(condition2){
do thing 2
}
}
else {
if(condition2) {
do thing 2
}
else if(condition1){
do thing 1
}
}
带有大量参数的 do thing 1
和do thing 2
函数调用,似乎有不必要的重复。
有更好的方法吗?
答案 0 :(得分:2)
if (condition1 && (condition0 || !condition2)) {
do thing 1
} else if (condition2) {
do thing 2
}
答案 1 :(得分:1)
为了避免重复代码,您可以存储事物1并在函数中执行事物2。为了使它干净。
var DoThing1 = function ()
{
do thing 1
}
var DoThing2 = function ()
{
do thing 2
}
if (condition0) {
if(condition1) {
DoThing1();
}
else if(condition2){
DoThing2();
}
}
else {
if(condition2) {
DoThing2();
}
else if(condition1){
DoThing1();
}
}