建立自己的對象 執行個體化的過程:首先通過new關鍵字告知JS建立一個全新對象。然後建立的執行個體被賦值給一個變數,以便你可以通過引用那個變數來訪問對象的新執行個體。不過為了做到這一點,所執行個體化的對象必須是一個建構函式。 第個核心對象,如object、Function、Array和String都含有建構函式。 建立構造方法 建立公有、私人、特權、靜態成員 添加靜態方法[javascript] <script type="text/javascript"> var obj=new Object(); obj.name='obj'; obj.alertName=function(){ alert(this.name); } obj.alertName(); </script> 添加公有方法在上面我們已經接觸到了一種添加公有方法的的例子,就是在我們建構函式裡,function裡面使用this關鍵字,用this加上點操作符來定義我們建構函式裡的公有屬性和公有方法。。 另一種方式:(兩者的不同之處看下文!) [javascript] <script type="text/javascript"> function myConstructor(){ } var myFun=new myConstructor(); myConstructor.prototype.myName='asdf'; alert(myFun.myName); </script> 需要注意的是:不能在myConstructor上直接調用這個方法 添加私人和特權方法私人成員就是在建構函式中定義的變數和函數。例如向myConstructor中添加私人成員和方法例子如所示:[javascript] <script type="text/javascript"> function myConstructor(message){ this.MyMessage=message; var myOwner=this; //私人屬性 var separator='_'; //私人屬性 function alertMessage(){ //私人方法 alert(myOwner.MyMessage); } alertMessage(); //執行個體化時顯示資訊。 //特權方法。 this.AppendToMessage=function(string){ this.MyMessage+=separator+string; alertMessage(); } } var myFun=new myConstructor('asdf'); myFun.AppendToMessage('特權方法'); </script> 與私人方法不同,特權方法能夠被公開訪問,而且還能訪問私人成員。特權方法是指在建構函式的範圍中使用this關鍵字定義的方法。(這也是與用prototype來指定公有方法的不同之處:因為隸屬於建構函式的範圍中可以訪問私人成員。) 總結: