首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Child.prototype = Parent.prototype vs Child.prototype =新父母()

Child.prototype = Parent.prototype vs Child.prototype =新父母()
EN

Stack Overflow用户
提问于 2013-09-21 21:50:34
回答 1查看 726关注 0票数 1

在定义了一些构造函数(例如Child )之后,我看到了以下两种形式:

代码语言:javascript
复制
Child.prototype = Parent.prototype;

代码语言:javascript
复制
Child.prototype = new Parent();

都是对的吗?如果是的话,是否有理由选择一个而不是另一个呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-21 21:59:47

尽管@elclanrs的评论是正确的,现在您可能更喜欢Object.create,并选择将其用于较老的环境,但对于您的问题有一个明确的正确答案。

代码语言:javascript
复制
Child.prototype = new Parent();

远胜于

代码语言:javascript
复制
Child.prototype = Parent.prototype;

原因很简单,在后者中,您随后添加到子原型中的任何属性都包含在父原型中。什么时候

代码语言:javascript
复制
Dog.prototype = Animal.prototype;
dog.prototype.bark = function() {console.log("woof, woof");}
Cat.prototype = Animal.prototype;
var frisky = new Cat();
frisky.bark(); //=> woof, woof!

你有猫狗住在一起..。大规模的歇斯底里。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18938034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档