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