if文の入れ子(ネスト)

if ~ else if ~ else ~は、入れ子(ネスト)にして使うことができる。

構文

if ( 条件式A ) {
    条件式Aが「true」のときに行う処理
    if ( 条件式C ) {
        条件式Aが「true」で、条件式Cが「true」のときに行う処理
    } else if ( 条件式D ) {
        条件式Aが「true」で、条件式Cが「false」、条件式Dが「true」のときに行う処理
    } else {
        条件式Aが「true」で、条件式Cと条件式Dが「false」のときに行う処理
    }
} else if ( 条件式B ) {
    条件式Aが「false」で、条件式Bが「true」のときに行う処理
} else {
    条件式Aと条件式Bが「false」のときに行う処理
    if ( 条件式E ) {
        条件式Aと条件式Bが「false」で、条件式Eが「true」のときに行う処理
    } else if ( 条件式F ) {
        条件式Aと条件式Bが「false」で、条件式Eが「false」、条件式Fが「true」のときに行う処理
    } else {
        条件式Aと条件式Bが「false」で、条件式Eと条件式Fが「false」のときに行う処理
    }
}

if文、else if文、else文、それぞれの中に、if ~ else if ~ else ~を入れるだけ。

サンプル

<script type="text/javascript">
var varA = 30;
var varB = 50;
var varC = 80;
var varD = 20;
var varE = "サンプル";
if ( varA > varB ) {
    document . write( varA + "は" + varB + "より大きい。<br />" );
    if ( varA > varC ) {
        document . write( varA + "は" + varC + "より大きい。<br />" );
    } else if ( varA < varC ) {
        document . write( varA + "は" + varC + "よりは小さい。<br />" );
    }
} else if ( varA == varB ) {
    document . write( varA + "と" + varB + "は等しい。<br />" );
} else {
    document . write( varA + "は" + varB + "より小さい。<br />" );
    if ( varA < varD ) {
        document . write( varA + "は" + varD + "よりも小さい。<br />" );
    } else if ( varA > varD ) {
        document . write( varA + "は" + varD + "よりは大きい。<br />" );
        if ( varE ) {
            document . write( varE + "<br />" );
        }
    }
}
</script>

↓↓↓出力結果↓↓↓

スポンサード リンク

カテゴリー: if, JavaScript, リファレンス, 制御構造 タグ: パーマリンク