(参考: 日付(Date) in とほほのJavaScriptリファレンス)
JavaScript には,日付や時刻を表わすための特別なデータ型
(日付オブジェクト)厳密には「データ型」ではなく「クラス」である.がある.
日付オブジェクトは,new 演算子で生成される.
日付オブジェクトは,new 演算子を
Date(…) 関数この Date 関数は,日付オブジェクト (Date クラス) のコンストラクタ関数と呼ばれる.
に作用させることによって生成できる.
このときの Date(…) 関数の引数によって,
生成する日付オブジェクトの日付・時刻を指定できる:
new Date(, ,
,
, ,
)
年,月,日,時,分,秒 を,それぞれ整数値で別個の引数として与える. ただし,月は,1月〜12月 を 0〜11 で表わし,月の数字と1つずつずれるので注意を要する. 例えば, を表わす日付オブジェクトは,
として生成できる.また,引数の 時,分,秒 を省略することもでき, その場合は 0時0分0秒 として扱われる.
new Date( )
引数には,「年月日」または「年月日時分秒」を表わす文字列を与える.
文字列の形式は種々のものが許されるが,
"//
::" または
"//"
という形が分かりやすい.
例えば,
を表わす日付オブジェクトは,
として生成できる.この場合の月は,通常の 1月,2月 の 1,2 なので, 上の場合のように1つずつずれることはない.
new Date()
この場合は,現在の日付・時刻を表わす日付オブジェクトを生成する.
上記のように作成された日付オブジェクトは,
alert(…)
や document.write(…)
等で出力すると,
のような形式で出力される.
また,日付オブジェクトからは,その日付オブジェクトが代入されている変数 (仮に とする) に対して, 下表のような形式で種々の情報を取り出すことができる.これらの getFullYear() などは, 日付オブジェクト (Date クラス) のメソッドと呼ばれる.
| 形式 | 意味 (値) |
|---|---|
.getFullYear() |
その日付オブジェクトの年を値とする.(整数値) |
.getMonth() |
その日付オブジェクトの月を値とする.(0〜11 の整数値) 1月〜12月 が 0〜11 で表わされる. |
.getDate() |
その日付オブジェクトの (月内の) 日を値とする.(1〜31 の整数値) |
.getDay() |
その日付オブジェクトの曜日を値とする.(0〜6 の整数値) 日曜〜土曜 が 0〜6 で表わされる. |
.getHours() |
その日付オブジェクトの時を値とする.(0〜23 の整数値) |
.getMinutes() |
その日付オブジェクトの分を値とする.(0〜59 整数値) |
.getSeconds() |
その日付オブジェクトの秒を値とする.(0〜59 整数値) |
var d, day; // 日付オブジェクト,曜日
// 今日現在の日付オブジェクトを生成して d に代入する.
d = new Date();
// getDay() で曜日 (0〜6) を取得して,文字列に変換する.
// switch を使うと良い.
switch (d.getDay()) {
case 0: day = "日曜日"; break;
case 1: day = "月曜日"; break;
case 2: day = "火曜日"; break;
case 3: day = "水曜日"; break;
case 4: day = "木曜日"; break;
case 5: day = "金曜日"; break;
case 6: day = "土曜日";
}
// 上で生成した曜日 (文字列) を出力する.
document.writeln("今日は" + day + "です.");
(参考: 配列(Array) in とほほのJavaScriptリファレンス)
複数の変数をひとまとめにして通し番号を付け, その番号で指定した「変数」をアクセスする仕掛けを配列と呼ぶ.
配列オブジェクトは,複数の変数をひとまとめにして通し番号を付けた構造体で,
new 演算子を Array() 関数に作用させて生成する.
このときの Array() 関数の引数
は,作成する配列オブジェクトの大きさ (変数の数) で,
通し番号は,0 〜 n-1 となる.
new 演算子で生成された配列オブジェクトは,通常,変数に代入して用いる.
変数 x に代入した配列オブジェクトの i 番の要素 (変数) は,
x[] と表わす.
var x, y;
// 大きさ10の配列オブジェクトを生成して
// 変数 x に代入
x = new Array(10);
// xに代入された配列オブジェクトの
// 最初の要素 (変数) に100を代入する
x[0] = 100;
y = x[0]/100;

また,変数 x 中の配列オブジェクトの大きさ (長さ; 変数の数) は
x.length という表現で得られる.
new 演算子と
Array()
関数を用いる方法のほかに,あらかじめ初期値が定まっている配列は,
その初期値をコンマで区切って並べ,[ ] で括って表現することもできる.
例えば以下の (A), (B) は等価である.
var daytable = new Array(7);
daytable[0] = "日曜日";
daytable[1] = "月曜日";
daytable[2] = "火曜日";
daytable[3] = "水曜日";
daytable[4] = "木曜日";
daytable[5] = "金曜日";
daytable[6] = "土曜日";
var daytable = ["日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日"];
上の解説「日付 (Date) オブジェクト」の例 「今日の曜日」を, switch を使わずに,代わりに配列を作って実現する.
以下に例を示す.リンクをクリックすれば実行できる.(別ウィンドウで実行される)
フィボナッチ数列の最初の10項を計算して表示する. フィボナッチ数列とは,以下の漸化式にしたがう数列である.
| { |
| a1 = a2 = 1 |
| ai = ai-1 + ai-2 , (i≥3) |
以下に例を示す.リンクをクリックすれば実行できる.(別ウィンドウで実行される)
| 課題番号: | 9-1 |
| 課題名: | 計算練習プログラム(2) |
| ファイル名: | task09-1.html |
| 締切: |
課題8-1 (参考) のコードを,答えあわせができるようにして完成する.
Moodle の課題ページからファイルを提出すること.ファイル名はすべて半角文字とする.