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( '学籍番号: ' + this.$attendanceNumber + '<br />' );
}
personalData.$name = "日本太郎"; // プロパティを定義
personalData.$nameWrite = function () { // メソッドを定義
document.write( '名前: ' + this.$name + '<br />' );
}
personalData.$areaWrite = function ( $arg ) { // メソッドを定義
document.write( '出身地: ' + $arg + '<br />' );
}
// 呼び出し
personalData.$attendanceNumberWrite();
document.write( '名前: ' + personalData.$name + '<br />' );
personalData.$areaWrite( '東京' );
</script>
// 定義
var personalData = new Object(); // オブジェクトを作成
personalData.$attendanceNumber = 130210; // プロパティを定義
personalData.$attendanceNumberWrite = function () { // メソッドを定義
document.write( '学籍番号: ' + this.$attendanceNumber + '<br />' );
}
personalData.$name = "日本太郎"; // プロパティを定義
personalData.$nameWrite = function () { // メソッドを定義
document.write( '名前: ' + this.$name + '<br />' );
}
personalData.$areaWrite = function ( $arg ) { // メソッドを定義
document.write( '出身地: ' + $arg + '<br />' );
}
// 呼び出し
personalData.$attendanceNumberWrite();
document.write( '名前: ' + personalData.$name + '<br />' );
personalData.$areaWrite( '東京' );
</script>
↓↓↓出力結果↓↓↓