【问题标题】:What is the difference between assigning prototype to Object.create prototype将原型分配给 Object.create 原型有什么区别
【发布时间】:2016-06-16 21:35:25
【问题描述】:

我似乎不明白将一个构造函数原型分配给另一个构造函数原型与使用 Object.create 之间的区别。 谁能提供一个不同的例子?

我创建了这个继承示例,它为两种情况提供了相同的结果:

function MyObject() {
}

function O1() {
   MyObject.call(this);
}

O1.prototype = MyObject.prototype;

function O2() {
    MyObject.call(this);
}

O2.prototype = Object.create(MyObject.prototype);

【问题讨论】:

    标签: javascript oop object inheritance prototype


    【解决方案1】:

    在您的示例中,Object.create 仅创建一个模式(多余)对象。如果创建new O1new O2,它们的继承图是这样的:

    【讨论】:

    猜你喜欢
    • 2020-07-27
    • 2012-06-29
    • 1970-01-01
    • 2011-11-25
    • 2014-02-17
    • 1970-01-01
    • 2013-04-10
    • 1970-01-01
    • 2012-02-06
    相关资源
    最近更新 更多