【JavaScript】分岐処理:switch文
switch文
switch文は、複数のcaseという選択肢から式の値に合うものを選択して処理を実行します。
式の値がどれにも当てはまらない場合はdefaultに進みます。
各選択肢の最後にはbreak文を記述し、選択した処理のみを行うようにします。
switch(式){ case 値1: //:(コロン)を記述する 処理1; break; case 値2: 処理2; break; case 値3: 処理3; break; default: 処理4; } //←breakが実行された時、ここにジャンプします。
<例題1>
簡単な福引きを実行するプログラミングをします。
<?xml version="1.0" encoding="utf-8" ?> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>switch文:文字入力ダイアログを使った福引き</title> </head> <body> <script type="text/javascript"> //window.prompt:promptメソッドを使って文字入力ダイアログを表示します。 fuku = window.prompt("福引きに挑戦!\n半角英数で1〜10の数字を入力してください。"); switch(fuku){ case (7): document.write("1等お(・∀・)め(・∀・)で(・∀・)と(・∀・)う!"); break; case (5): document.write("2等が当たりました。商品は焼き鳥です(´・ω・`)つ--{}@{}@{}-"); break; case (3): document.write("3等が当たりました。商品はイワシです(´・ω・`)つ <・))イワシ)><<"); break; default: document.write("残念でしたハズレですm9(^Д^)プギャー"); break; } //←breakが実行された時、ここにジャンプします。 </script> </body> </html>
Math.random()のメソッドを使っておみくじゲームらしくしてみます。
var randnum = 1 + Math.floor( Math.random() * 10 );
上記のJavaScriptを実行すると、変数randnumに「1〜10」の範囲の整数がランダムに格納されます。
・Math.random()で0〜1未満の乱数を得る
・「* 10」で、欲しい値の最大値(より1つ上の数)をかける
・Math.floor(...)で、小数点以下を切り捨てる
・1を足すことで「1〜10」の範囲の整数が格納されます
<例題2>
Math.random()メソッドを使って福引きを実行するプログラミングします。
<?xml version="1.0" encoding="utf-8" ?> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>乱数を使った福引き</title> </head> <body> <script type="text/javascript"> //「1〜10」までの整数をランダムに表示させます fuku = 1 + Math.floor( Math.random() * 10 ); switch(fuku){ case (7): document.write(fuku + "番です。1等お(・∀・)め(・∀・)で(・∀・)と(・∀・)う!"); break; case (5): document.write(fuku + "番です。2等が当たりました。商品は焼き鳥です(´・ω・`)つ—{}@{}@{}-"); break; case (3): document.write(fuku + "番です。3等が当たりました。商品はイワシです(´・ω・`)つ <・))イワシ)><<"); break; default: document.write(fuku + "番です。残念でしたハズレですm9(^Д^)プギャー"); break; } </script> </body> </html>