以下の場合は、」前の2つ(またはそれ以上)の結果に基づいて、「他」を作成することが可能ですか?

クリス・A:

現在、私は中にいくつかのコードを持っているif (roobaf)に依存してブロックfooし、bar偽であること。私は、ブロック内で再びこれらの条件を確認することができますが、それは、コードの不必要な繰り返しのように感じています。

if (foo) {
    // some code
}

/*else*/ if (bar) {   // bar is a condition which needs to be checked 
                      // whether 'foo' is true or false
// more code
}

if (roobaf) { 

   if (!foo && !bar) {
      // even more code
    }

}

問題があればということであるbarだけでif、その後、roobaffooがtrueの場合にも達することになります。

私が変更された場合barelse ifならば、foo真であるその後、barチェックされません。

どのように私はことを確認して行うfoobar、常にチェックされますが、それはroobaf両方の場合にのみチェックされますfoobarチェックされますか?

roobaf相互に排他的ではない状態であるfoobar、それは最初に動作しません置くようにします。

nLee:

あなたはこのような何かを行うことができます:

if (foo || bar) {
    if (foo) {
        // do something
    }
    if (bar) {
        // do something
    }
}
else {
    if (roobaf) {
        // do something else
    }
}

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=226788&siteId=1