gpt4 book ai didi

javascript - Child.prototype = Parent.prototype 与 Child.prototype = new Parent()

转载 作者:行者123 更新时间:2023-11-30 08:05:25 29 4
gpt4 key购买 nike

在一些构造函数的定义之后,例如 child ,我见过以下两种形式:

Child.prototype = Parent.prototype;

Child.prototype = new Parent();

两者都正确吗?如果是这样,是否有理由偏爱其中一个?

最佳答案

虽然@elclanrs 的评论是正确的,而且现在您可能更喜欢 Object.create,并选择为较旧的环境填充它,但您的问题有一个明确的正确答案。

Child.prototype = new Parent();

远远优于

Child.prototype = Parent.prototype;

原因很简单,在后者中,您随后添加到子原型(prototype)的任何属性也包含在父原型(prototype)中。当

Dog.prototype = Animal.prototype;
dog.prototype.bark = function() {console.log("woof, woof");}
Cat.prototype = Animal.prototype;
var frisky = new Cat();
frisky.bark(); //=> woof, woof!

你让猫和狗住在一起......集体歇斯底里。

关于javascript - Child.prototype = Parent.prototype 与 Child.prototype = new Parent(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18938034/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com