0
我似乎没有理解将一个构造函数原型分配给另一个,并使用Object.create之间的区别。 任何人都可以提供一个区别的例子吗?分配原型到Object.create原型有什么区别
我创建这个继承例如它提供了两种情况下相同的结果:
function MyObject() {
}
function O1() {
MyObject.call(this);
}
O1.prototype = MyObject.prototype;
function O2() {
MyObject.call(this);
}
O2.prototype = Object.create(MyObject.prototype);
感谢你,我一直在寻找对每个执行的示例场景? (为了更好地理解何时使用每种实现方法) 默认情况下,MDN使用“O2”实现。 (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Details_of_the_Object_Model) –
@ShaiKimchi:最好的方法是只使用Object.create,不要摆弄原型。 'Function.prototype'和'new'在Javascript中不是很习惯,请参阅http://javascript.crockford.com/prototypal.html – georg