prototype.jsリファレンスオブジェクト/クラス(Object/Class)
クラス作成
create()
unknown
クラス名=Class.create();
サンプルを見る<script type="text/javascript"> /* クラス作成 */ SiteClass=Class.create(); SiteClass.prototype={ /* 初期化 */ initialize:function(siteURL, siteName){ this.siteURL=siteURL; this.siteName=siteName; }, viewLink:function(){ document.write("<a href='"+this.siteURL+"'>"+this.siteName+"</a><br>\n"); } } mySite=new SiteClass("http://phpjavascriptroom.com/","PHP & JavaScript Room"); mySite.viewLink(); googleSite=new SiteClass("http://www.google.co.jp/","Google"); googleSite.viewLink(); yahooSite=new SiteClass("http://www.yahoo.co.jp/","Yahoo! JAPAN"); yahooSite.viewLink(); </script>
オブジェクトの継承
extend()
unknown
新しいオブジェクト=Object.extend(コピー先オブジェクト, コピー元オブジェクト);
サンプルを見る<script type="text/javascript">
var myObj1={id:1, name:"userA"};
var myObj2={age:28};
/* 継承 */
var newObj=Object.extend(myObj1, myObj2);
var bStr="書き換え前<br>";
bStr+="myObj1.age="+myObj1.age+"<br>";
bStr+="myObj2.age="+myObj2.age+"<br>";
bStr+="newObj.age="+newObj.age+"<br>";
myObj1.age=100;
var aStr="書き換え後<br>";
aStr+="myObj1.age="+myObj1.age+"<br>";
aStr+="myObj2.age="+myObj2.age+"<br>";
aStr+="newObj.age="+newObj.age+"<br>";
document.write(bStr+aStr);
</script>