您的位置:首页 > Web前端 > JavaScript

javascript学习随笔(二)原型prototype

2016-12-28 00:00 148 查看
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不会克隆同名函数.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: