javascript學習隨筆(二)原型prototype

來源:互聯網
上載者:User

標籤:

JavaScript三類方法:

1、類方法;2、對象方法;3、原型方法;注意三者異同

例:

 1 function People(name){ 2 this.name=name; 3 //對象方法 4 this.Introduce=function(){ 5 console.log(‘My Name Is ‘+this.name); 6 } 7 } 8  9 //類方法10 People.Run=function(){11 console.log(‘I Can Run‘);12 }13 14 //原型方法15 People.prototype.IntroduceChinese=function(){16 console.log(‘我的名字是‘+this.name);17 }18 19 //測試20 var p=new People(‘Tom‘);21 22 p.Introduce();23 People.Run();24 p.IntroduceChinese();

 JavaScript物件類型原型引用,切記將某對象的原型賦給某對象原型,這不是繼承關係,而是將複製,且存在衝突函數或屬性時,保留自己的函數和屬性

例1、

 1 function  BaseClass(){ 2 this.showMsg=function(){ 3 alert(‘baseClass::showMsg‘); 4 }; 5 } 6  7 function  ExtendClass(){ 8  9 }10 11 ExtendClass.prototype=new BaseClass();12 13 var extend=new ExtendClass();14 extend.showMsg();//彈出baseClass::showMsg

例2、

 1 function  BaseClass(){ 2 this.showMsg=function(){ 3 alert(‘bassClass::showMsg‘); 4 }; 5 } 6  7 function  ExtendClass(){ 8 this.showMsg=function(){ 9 alert(‘extendClass::showMsg‘);10 };11 }12 13 ExtendClass.prototype=new BassClass();14 15 var extend=new ExtendClass();16 extend.showMsg();//彈出extendClass::showMsg

函數運行時會先去本體的函數中去找,如果找到則運行,找不到則去prototype中尋找函數。或者可以理解為prototype不會複製同名函數.

 

javascript學習隨筆(二)原型prototype

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.