javascript学习随笔(二)原型prototype

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不会克隆同名函数.

 

转载于:https://my.oschina.net/u/2310745/blog/813405

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值