function myObj(){
myOtherObj.call(this);
}
myObj.prototype = object.create(myOtherObj.prototype);
myObj.prototype是否包含指向myObj函数的构造函数?如果是这样的话?
答案 0 :(得分:1)
myObj.prototype是否包含指向myObj函数的构造函数?如果是这样的话?
没有。 Object.create
只会创建一个继承自给定对象的空对象。在您的情况下,它是myOtherObj.prototype
,并且可能具有现在继承的“构造函数”属性(myObj.prototype.constructor
=== myOtherObj.prototype.constructor
=== myOtherObj
)。
它是not necessary,但是如果你想调整属性以便(new myObj).constructor
=== myObj.prototype.constructor
=== myObj
你可以通过传递第二个参数来做到这一点到Object.create
:
myObj.prototype = Object.create(myOtherObj.prototype, {
constructor: {value:myObj, writable:true, enumerable:false, configurable:true}
});