[英]Is it bad practice to place an if/else inside of another else?
if() {
}else {
if (IsAlternateRow=='true')
IsAlternateRow = 'false';
else
IsAlternateRow = 'true';
}
我可以將if和else語句放在另一個else語句中嗎?
注意:在發布此答案之后,問題被重新標記為JavaScript(它最初是關於Java的,所以這個答案是關於Java的)。
在一般情況下,這是很好的地方了if
和else
內部else
條款。
但是,您的代碼存在一些問題。 IsAlternateRow=='true'
在語法上無效。
.equals()
; IsAlternateRow = !IsAlternateRow
而不是整個嵌套if
。 嘗試
IsAlternateRow = !IsAlternateRow;
(更新以顯示代碼中的內容)
var IsAlternateRow = false;
if(/* -- insert equation here -- */)
{
// do something
}
else
{
IsAlternateRow = !IsAlternateRow;
}
return(IsAlternateRow.equals('true'))? 'false':'true'
是的,將if
放入else
是完全可以接受的做法,但在大多數情況下, else if
更清晰,更清潔else if
使用else if
。 例如
if (test) {
// Do something
} else if (otherTest) {
// Do something else
} else {
// Do a third thing
}
事實上,這是簡單的
if (test) {
// Do something
} else {
if (otherTest) {
// Do something else
} else {
// Do a third thing
}
}
在大多數情況下,兩者應編譯成幾乎相同的程序。
您的代碼示例不是很清楚,無法正確編譯,更清晰的示例代碼可以幫助我們幫助您。
總的來說,我要說回答這樣的問題,你應該問問自己,
這容易閱讀嗎?
淺嵌套的if/else
語句並不可怕,但是一旦你開始嵌套廣告惡心,你應該重構。
這很好,但有更簡單的方法來做你正在做的事情:
IsAlternateRow = !IsAlternateRow
是的你可以。 如果你想多次評估同一個對象/變量,你可以使用一個switch語句,但在很多情況下交錯if if語句也能完成這項工作。
要回答你的問題,是的,你可以無限地嵌套if / else語句。 您提供的代碼將編譯沒有問題。 雖然假設您正在談論Java,但我想,除非是偽代碼,否則它無法提供所需的結果。
正確的方法:
if() {
} else if (IsAlternateRow=='true') {
IsAlternateRow = 'false';
}
else
{
IsAlternateRow = 'true';
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.