1:建構函式法
<script type="text/javascript"> function Dog(name,weight) { this._name=name; this._weight=weight; this._show=function() { document.write(dog._name+" is "+dog._sex); } } var dog=new Dog("Join",100); dog._sex="male"; dog._show(); </script>
[Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]
註解:
1:這裡定義了一個Dog對象(在javascript中,函數就是對象,這裡function Dog(name,weight) 同時也是建構函式),用new關鍵字建立了一個對象執行個體dog。
2:其中_name、_weight、_show、_sex為執行個體dog的屬性。可以通過:執行個體名.屬性名稱 或 執行個體名[“屬性名稱”]訪問執行個體屬性,即dog._name=dog["_name"]。
3:在建構函式(這裡function Dog(name,weight) 同時也是建構函式)中的屬性會附加到所有的執行個體上,例:var dog1=new Dog(…);dog1會有_name、_weight、_show屬性,但是_sex屬性只為dog執行個體專有,它不會被載入到其他對象上。
2:Object建立法:
object對象提供了一種建立自訂對象的簡單方法,不需要再定義建構函式。
<script type="text/javascript"> var cat=new Object(); cat.name="david"; cat.sex="female"; document.write(cat.name+" is "+cat.sex); </script>
[Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]
註解:
這裡使用Object對象建立了一個cat執行個體。
3:對象初始化器方式
<script type="text/javascript"> var Cow={ name :"BeautifulCow", sex :"female", weight :1000, show :function(){alert(this.name+this.sex+this.weight+this.address)} } Cow.address="USA.NewYork" Cow.show(); </script>
[Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]
註解:
1、這裡其實我們已經實現了靜態屬性和方法,無須建立執行個體。