关于原型继承

来源: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回答

好帮手慕星星

2021-01-15

同学你好,是先后顺序的问题。

1、粘贴代码中原型继承是在添加原型属性后面

http://img.mukewang.com/climg/60014af6098a2f5e03440126.jpg

这样就会导致继承的覆盖原型上原有的内容,所以弹出c.name为d 。

2、如果想要弹出c,那么就需要将原型属性添加在继承的后面

http://img.mukewang.com/climg/60014b5b09b0c97505230220.jpg

继承之后再添加属性覆盖name值,这样就是c了。

祝学习愉快!

0

0 学习 · 14456 问题

查看课程