编程语言
首页 > 编程语言> > javascript – 适当使用嵌套的If语句

javascript – 适当使用嵌套的If语句

作者:互联网

显然,嵌套的if语句是允许的.所以似乎可能适合他们使用.每个人都讨厌他们,我想知道是否有时候嵌套if语句是最好的行动方案.以下是我认为最好使用嵌套语句的示例:

if (A){
    //Code for A
    if (B){
        //Code for B
    } else {
        //Code for !B
    }
    //More A Code
} else {
    //Code for !A
    if (C){
        //Code for C
    } else {
        //Code for !C
        if (D){
            //code for D
        }
    }
}

如果我试图不嵌套此代码,它将如下所示:

if (A&&B){
    //Code for A
    //Code for B
    //More A Code
}
if (A&&!B){
    //Code for A
    //Code for !B
    //More A Code
}
if (!A&&C){
    //Code for !A
    //Code for C
}
if (!A&&!C&&D){
    //Code for !A
    //Code for !C
    //Code for D
}
if (!A&&!C&&!D){
    //Code for !A
    //Code for !C
}

这一开始看起来更干净,直到你真正把代码放在那里并且有冗余,这是一场噩梦.

if (A){
    //Code for A
}
if (A&&B){
    //Code for B
}
if (A&&!B){
    //Code for !B
}
if (A){
    //More A Code
}
if(!A){
    //Code for !A
}
if(!A&&C){
    //Code for C
}
if(!A&&!C){
    //Code for !C
}
if(!A&&!C&&D){
    //Code for D
}

这种方式不使用嵌套语句,也不需要重写代码,但它会过度使用条件并且if()实例比原始实例多.此外,你必须做更多的阅读而不是略读,看看只有在A是真的情况下才会评估B.然后,如果你在底部放置一个if(A&& C)或其他东西,那就很难维持.

嵌套的if语句似乎对我来说是最合理的,因为它们的if()实例最少.我不明白为什么每个人都讨厌嵌套的if语句.有没有人有更实际的方法来编写这段代码?或者我是否误解了人们对嵌套ifs的意义?似乎关于嵌套ifs的每个问题在第一层中都没有代码,例如:

if(A){
    if(B){
        //Do Something
    } else {
        //Do Something Else
    }
} else {
    //Do Third thing
}

等等……不,那个人仍然会使用更多的if()实例来缩短它.我想到的particular example有两个相同的陈述. Anywho,是适当的嵌套if语句的这些例子,还是有更好/更清晰/更清洁/更快/更标准的编写代码的方式?

解决方法:

嵌套的if语句如果不必要则讨厌.通常有一些方法可以将它们变成更少的complex代码,有时候并不明显,但仍然可能.如果您的问题是essentially complex,那么嵌套的if语句可以完全编码.

标签:javascript,standards,simplify,nested-if
来源: https://codeday.me/bug/20190711/1430670.html