首页 > 代码库 > js继承之原型链方式实现
js继承之原型链方式实现
温故而知新:
在之前的文章已经重点了解了原型对象,今天就理一理这个原型对象在原型链式的继承中的使用
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继承之原型链方式实现
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。