我的问题是关于javascript中的继承。所以,当你有
child.prototype = Object.create(parent.prototype)
您正在将子类的原型设置为父类原型的副本。如果您在控制台中签入,子类的__proto__
属性将直接显示__proto__: parent
。到现在为止还挺好。但是当你做那样的继承 -
child.prototype = Object.create(parent)
子项的__proto__
属性显示__proto__: function parent()
,此函数的属性原型具有键值prototype: parent
。两者的实例行为相同。显然,编译器应该只需要更多一步来查找原型中的函数。存在某种差异,但它是如此重要,因此Object.create(parent.prototype)
是首选。任何人都可以用简单的方式解释这个吗?