標籤:
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