もうちょっと突っ込んで
もっとたくさん条件を付けてみよう
i f 文を重ねる
<body>
<script>
var n=5;
if (n == 3) {
変数nに5を代入
まず、i f 文でnが3かどうかが判断されます。
3ではないので、else以下の処理が行われていきます。
else文1段目でもう一回 i f を使ってのチェックが行われます。
4かどうか調べて、違うので更にelse文2段目の処理が行われます。
結果、「nは3,4ではありません!」と表示されることになります。
ためしに
var n = 4;
にしてみてください。
アラートウィンドウで「nは4です!」が表示されますよ!
基本的に i f~else 文では そうか、そうでないか の2通りにしか
分けられません。(何重にも書けばできますが・・。)
次は、1回で何通りにも分岐させられる方法 switch 文を解説します。
alert("nは3です!");
} else if (n == 4) {
alert("nは4です!");
} else {
alert("nは3,4ではありません!");
}
</script>
</body>
何通りも分岐させる switch 文
<body>
<script>
//曜日取得
var today = new Date();
var week = today.getDay();
//条件分岐
switch (week) {
<switch文の書き方>
case 0:
document.write("今日は日曜日です!");
break;
case 1:
document.write("今日は月曜日です!");
break;
case 2:
document.write("今日は火曜日です!");
break;
case 3:
document.write("今日は水曜日です!");
break;
case 4:
document.write("今日は木曜日です!");
break;
case 5:
document.write("今日は金曜日です!");
break;
default :
document.write("今日は土曜日です!");
break;
switch で定義し、その後の( )の中に変数等を指定
分岐させる各条件は
case + 半角スペース + 変数の値 + コロン「:」
で指定し、その後に
条件に合った場合の処理を記述 + 「;」
最後に
break (switch文を抜け出しなさいという命令文)+ 「;」
これで1つの分岐条件と処理の1まとまりになります。
<ソースの解説>
}
</script>
</body>
今日の日付(Date)を取得して⇒new Date()で取得できる
その中の曜日(Day)データを抜き出し⇒today.getDay()で抜き出す
そのデータで分岐、合致したら処理(今日は○○曜日です!をブラウザ上に表示させる)というソースになっています。
変数 today に今日の日付データを格納し、
変数 week にtodayの中の「曜日」データを代入
⇒各曜日は数字に置き換えられてデータになっている
(日曜日が0で月曜が1,…この数字が変数weekの値)、
この数字を条件分岐させています。
例えば左記の式でweekの値が日曜日(0)だと
まずcase 0:内の処理が実行されます。
ここでbreakが無いと、後のcase 1,2,3…と全ての条件の処理も
実行されてしまいます。
最後の行の default
これは、その他の条件という意味
case文で変数week値が0~5まで分岐していますが、
それ以外の数字の場合はdefault内の処理が実行されます。
土曜日は変数weekの値が6になるので、defaultの処理が実行
されます。
⇒today.getDay()って?もっと詳しく。
new Date()
現在の日付&時刻(1式をオブジェクトっていう)を取得するコンストラクタ。・・・newが付くものはコンストラクタって言うんだって。
★ここから、年・月・日・曜日をそれぞれ抜き出せる。。。( 月と曜日はちょっと加工が必要な形で抜き出される)
new Date()の変数名.getFullYear()→4桁の西暦年を取得
new Date()の変数名.getMonth()+1→月を取得(値は実際より1つ少ない数になるので+1を書く)
new Date()の変数名.getDate()→日にちを取得
new Date()の変数名.getDay()→曜日を取得
(日曜日が0で、月曜が1,…,土曜が6。数字の形で表されるので、 文字の形で表示するには例えば配列Arrayを使って↓↓)
<body>
<script>
var Hiduke=new Date();
var Week = Hiduke.getDay();
var Yobi= new Array("日","月","火","水","木","金","土");
document.write(Yobi[Week]+"曜日");
</script>
</body>
←曜日を数字でget!
←あらかじめ曜日の数字に漢字をあてとく(左から順に0.1..)
←Yobi[Week]…Weekに数字が入って、Yobiで数字にあてた
漢字に置き換わる。+曜日 で
●曜日 ってブラウザ上に表示されるよ。
★時間も抜き出せるのだ!
new Date()の変数名.getHours()→時刻データの中から時間を取得
new Date()の変数名.getMinutes()→時刻データの中から分を取得
new Date()の変数名.getSeconds()→時刻データの中から秒を取得
ちなみに、alert は メソッドって言うらしい。