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>