Loose-Info.com
Last Update 2009/03/29
TOP - JavaScript - プロトタイプ

プロトタイプを利用するとメソッドを共有できます。
メソッドだけではなく定数などにも利用できます。

function 名前1 () ブロック1 function 名前2 () ブロック2 名前1 .prototype. 名前3 = 名前2 ;

名前1
生成する定義済みオブジェクト(コンストラクタ)名
名前2
メソッドとして使用する関数の名前
名前3
プロトタイプに指定するメソッド名
ブロック1
コンストラクタを定義するブロック
ブロック2
メソッドとして使用する関数を定義するブロック

(例)
<SCRIPT type="text/javascript"> <!-- function test_method() { return this.test1 + " : " + this.test2; } function TestConstructor(x1, x2) { this.test1 = x1; this.test2 = x2; } // プロトタイプでメソッドを共有 TestConstructor.prototype.test3 = test_method; // プロトタイプで文字列を共有 TestConstructor.prototype.test4 = "abc"; function btnclick() { var s = ""; var test_object1 = new TestConstructor("a", "b"); var test_object2 = new TestConstructor("a", "b"); s += test_object1.test3() + "\n"; s += test_object2.test3() + "\n"; s += test_object1.test4 + "\n"; s += test_object2.test4 + "\n"; // プロトタイプのプロパティを変更 TestConstructor.prototype.test4 = "def"; // オブジェクト内の値も変更 s += test_object1.test4 + "\n"; s += test_object2.test4 + "\n"; alert(s); } //--> </SCRIPT>