javascript -- 原型對象

來源:互聯網
上載者:User

標籤:

原型對象:

每個對象都有一個參考對象,這個參考對象稱之為原型對象。原型對象有自己的屬性和方法。當A是B的原型對象時,那 麼B擁有A中的所有屬性和方法。

 

原型對象的工作原理:

使用原型對象定義一個新的對象時,該對象不會立即擁有原型對象的屬性和方法,在調用的時候本對象內部沒有的屬性和方法是才回去調用原型中的屬性和方法。(動態分配).

 

原型對象的引用:

在javascript中每一個函數都定義了一個prototype屬性用於引用原型對象。

Js代碼  
 1 function computer(){ 2  3      this.name="thinkPad 500"; 4      this.factory="聯想"; 5      this.price=5000; 6      this.size=17; 7  } 8  /* 9   *讀取函數中的prototype,預設情況下為空白10   */11  for( pro in computer.prototype){12      document.write(computer.prototype,"<br>");13  } 14  //沒有繼承原型對象中屬性15  var mycomputer=new computer();16   for( pro in mycomputer){17      document.write(pro,":",mycomputer[pro],"<br>");18  } 19  computer.prototype.interface="VAG";20  //添加原型對象的屬性21   for( pro in computer.prototype){22      document.write(pro,":",computer.prototype[pro],"<br>");23  } 24  //繼承原型對象中屬性25  var mycomputer=new computer();26   for( pro in mycomputer){27      document.write(pro,":",mycomputer[pro],"<br>");28  } 

 

 

 原型對象的繼承

 繼承是通過原型對象實現

Js代碼
 1 <script type="text/javascript"> 2 //定義一個工人 3     function worker(){ 4         this.name=""; 5         this.address=""; 6     } 7 //定義一個部門經理 8     function manager(_dept){ 9         this.dept=_dept;10     }11 //定義繼承關係12     manager.prototype=new worker();13 //建立計劃部門經理14     var jh=new manager("計劃");15     for(pro in jh){16         document.write(pro,":",jh[pro],"<br>");17     }18 //當前jh有效沒有改變原型對象中的值19     jh.name="計劃部門經理";20     jh.address="計劃部";21     for(pro in jh){22         document.write(pro,":",jh[pro],"<br>");23     }24 //原型對象中的值沒有被修改25     var rs=new manager(‘人事‘);26     for(pro in rs){27         document.write(pro,":",rs[pro],"<br>");28     }29 //修改原型對象中的值,將會在繼承的對象中體現,如果繼承類中沒有覆蓋30 31 manager.prototype.address="成都市";32 //覆蓋後address的值還是原來的計劃33 for(pro in jh){34         document.write(pro,":",jh[pro],"<br>");35     }36 //沒有覆蓋address的值是成都市37 for(pro in rs){38         document.write(pro,":",rs[pro],"<br>");39 }40     41 </script>

 通過原型對象可以為所有繼承對象添加屬性和刪除屬性,所有繼承對象都將統一顯示。

javascript -- 原型對象

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.