ユーザー定義オブジェクトの作成方法



ユーザー定義オブジェクトの作成方法
 ブラウザに用意されている既存のオブジェクトだけでなくユーザー定義のオブジェクトも作成することができます。例えばmyObjというオブジェクトを作ってみます。このオブジェクトにはname, ageというプロパティを定義します。(左側の行番号は説明のために付加したもので実際は不要です)

1:function hinagata()
2:{
3: this.name = "悪芸2";
4: this.age = "46";
5:}
6:myObj = new hinagata();

 まず雛形となるオブジェクトを定義します。といってもJavaScriptでは関数定義と同じfunctionを使います(1行〜5行)。プロパティの作成と初期値の設定はthis.プロパティ名のようにします。(3〜4行)
 雛形の定義が終われば実際にオブジェクトを生成します。新しいオブジェクトを生成するにはnew命令を使います(6行)。
 さてプロパティは手軽に作成できましたがメソッドはどう定義すればよいのでしょうか。これもプロパティと同じようにthisと使い「this.メソッド名」とします。実際には以下のようになります。

1:function hinagata()
2:{
3: this.message = msg;
5:}
6:function msg()
7:{
8: alert("Oh!");
9:}
10:myObj = new hinagata();

 これでmyObj.message()として使用することができます。上記の場合はOh!とアラートダイアログが表示されます。この方法を使うと異なるブラウザ間の差を吸収することも可能です。