关于原型继承
来源:6-1 原型继承
蛋挞狂魔
2021-01-15 13:59:52
function pT(){};
pT.prototype.name ="d";
function cT(){};
cT.prototype.name ="c";
cT.prototype = new pT();
var c = new cT();
alert(c.name);
请问老师,为什么这里c.name输出的是d? cT继承了pT,那么不是应该用子元素属性覆盖父元素吗?
1回答
同学你好,是先后顺序的问题。
1、粘贴代码中原型继承是在添加原型属性后面

这样就会导致继承的覆盖原型上原有的内容,所以弹出c.name为d 。
2、如果想要弹出c,那么就需要将原型属性添加在继承的后面
继承之后再添加属性覆盖name值,这样就是c了。
祝学习愉快!
相似问题