条件分岐-Switch文
switch文はif文と同じように分岐処理をする。
変数の中身が一致するかという判断をする場合は、if文ではなくswitch文のほうがすっきりと記述することができる。
switch(変数){
case A:
変数がAに一致したときの処理
case B:
変数がBに一致したときの処理
case C:
変数がCに一致したときの処理
default:
どの値にも一致しなかったときの処理}
<head> <meta charset="utf-8"> <title>switch文で月を判別する</title> <script> var month; function season(){ month=prompt('月を入力して下さい','1から12の値を半角数字で入力'); month=parseInt( month ); month=Number(month); switch(month){ case 12: case 1: case 2: document.write('<h1>冬です。</h1>'); break; case 3: case 4: case 5: document.write('<h1>春です。</h1>'); break; case 6: case 7: case 8: document.write('<h1>夏です。</h1>'); break; case 9: case 10: case 11: document.write('<h1>秋です。</h1>'); break; default: document.write('<h1>1から12の値を入力して下さい</h1>'); } } </script> </head> <body> <h1>月別に季節を判別</h1> <p>ボタンをクリックすると月を入力するウィンドウが表示されます。</p> <p><button onClick="season()">月別に季節を判別する</button></p> </body> </html>
↓12~2と入力した場合の表示
↓3~5と入力した場合の表示
↓6~8と入力した場合の表示
↓9~11と入力した場合の表示
beakの必要性
- breakに会うと{}を抜ける。
- breakが無いと、その下の文も実行してしまう。
実験)case12~1の下にあるbreakの記述を消して、プレビューをしてみる。
「月別に季節を判別」ボタンを押して、ダイアログボックスに'1'を入れると…下図の表示なってしまう。だからswitch文を使う時は、 breakを忘れずに書こう。