码迷,mamicode.com
首页 > Web开发 > 详细

js继承之原型链方式实现

时间:2017-04-15 14:35:35      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:自己的   nbsp   js继承   原型链   efi   链式   保留   使用   函数   

 温故而知新:

   在之前的文章已经重点了解了原型对象,今天就理一理这个原型对象在原型链式的继承中的使用

function a(x,y){this.x=x;this.y=y;} //定义一个函数,当构造函数用(正经从程序用大写哈!)

  原型对象上添加属性

a.prototype.ayuanxing="a原型属性"; 

 new 一个对象看看咯:

技术分享

 

同样的,定义一个b函数:

function b(z){this.z=z};
b.prototype.byuanxing="b原型属性";

同样看看new 一个b对象看看:

技术分享

ok,现在有两个同等的类a,b;如何让他们两个拥有父子关系?

b.prototype=new a(); //将a的实例对象作为b的原型对象

再new 一个b对象看看:

技术分享

能得出什么?

1:b的原型对象已经变成了a,且原型对象(a)的属性是赋值时候决定的(我没有赋值所以是undefined):

2:b的原型对象(a) 它也有自己的原型对象,指向a.prototype,因为没有修改过,所以还保留着ayuanxing这个 属性;

3,:而b.prototype.byuanxing因为我们修改了b的原型对象指向,所以覆盖了之前的原型对象

技术分享

所以通过原型链,b2可以访问到原型链上的属性,再回头看看a对象:

技术分享

还是正常的,这就是原型链式的继承的实现;

个人观点:如描述错误,恳请指正!谢谢!

 

js继承之原型链方式实现

标签:自己的   nbsp   js继承   原型链   efi   链式   保留   使用   函数   

原文地址:http://www.cnblogs.com/llauser/p/6714206.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!