new Object()を使い、オブジェクトを作成し、ブラケット表記法でプロパティやメソッドを定義する方法。
ユーザー定義オブジェクトは、コンストラクタを使い作成することが多いが、new Object()を使い作成することもできる。
オブジェクトのプロパティやメソッドにアクセスするには、メンバー演算子を使う。メンバー演算子には、ドット表記法とブラケット表記法がある。このページでは、ブラケット表記法を用いて、プロパティやメソッドを定義及び呼び出す。ドット表記法を用いた方法については、こちら。
構文
オブジェクトを作成
new Object()で、オブジェクトを作成。
var オブジェクト名 = new Object(); // オブジェクトを作成
プロパティを定義
ブラケット表記法で、プロパティを定義。
オブジェクト名['プロパティ名'] = 値;
メソッドを定義
ブラケット表記法で、メソッドを定義。
オブジェクト名['メソッド名'] = function () {
// メソッド内処理文
}
// メソッド内処理文
}
引数を受け取ることもできる。
オブジェクト名['メソッド名'] = function ( 仮引数1, 仮引数2, 仮引数3, … 仮引数N ) {
// メソッド内処理文
}
// メソッド内処理文
}
プロパティにアクセス
ブラケット表記法で、プロパティを呼び出す。
オブジェクト名['プロパティ名']; // プロパティを呼び出す
メソッドにアクセス
ブラケット表記法で、メソッドを呼び出す。
オブジェクト名['メソッド名'](); // メソッドを呼び出す
メソッドに引数を渡すこともできる。
オブジェクト名['メソッド名']( 実引数1, 実引数2, 実引数3, … 実引数N ); // メソッドを呼び出す
サンプル
<script type="text/javascript">
// 定義
var personalData = new Object(); // オブジェクトを作成
personalData['attendanceNumber'] = 130210; // プロパティを定義
personalData['attendanceNumberWrite'] = function () { // メソッドを定義
document.write( '学籍番号: ' + personalData['attendanceNumber'] + '<br />' );
}
personalData['name'] = "日本太郎"; // プロパティを定義
personalData['nameWrite'] = function () { // メソッドを定義
document.write( '名前: ' + personalData['name'] + '<br />' );
}
personalData['areaWrite'] = function ( $arg ) { // メソッドを定義
document.write( '出身地: ' + $arg + '<br />' );
}
// 呼び出し
personalData['attendanceNumberWrite']();
personalData.attendanceNumberWrite();
document.write( '名前: ' + personalData['name'] + '<br />' );
document.write( '名前: ' + personalData.name + '<br />' );
personalData['areaWrite']( '東京' );
personalData.areaWrite( '東京' );
</script>
// 定義
var personalData = new Object(); // オブジェクトを作成
personalData['attendanceNumber'] = 130210; // プロパティを定義
personalData['attendanceNumberWrite'] = function () { // メソッドを定義
document.write( '学籍番号: ' + personalData['attendanceNumber'] + '<br />' );
}
personalData['name'] = "日本太郎"; // プロパティを定義
personalData['nameWrite'] = function () { // メソッドを定義
document.write( '名前: ' + personalData['name'] + '<br />' );
}
personalData['areaWrite'] = function ( $arg ) { // メソッドを定義
document.write( '出身地: ' + $arg + '<br />' );
}
// 呼び出し
personalData['attendanceNumberWrite']();
personalData.attendanceNumberWrite();
document.write( '名前: ' + personalData['name'] + '<br />' );
document.write( '名前: ' + personalData.name + '<br />' );
personalData['areaWrite']( '東京' );
personalData.areaWrite( '東京' );
</script>
↓↓↓出力結果↓↓↓