给定以下构造函数,
Dog = function(name, age, ...){
Animal.call(this, name, age, ...);
// And some other stuff that dogs do
}
我使用以下代码行从 Animal
类复制我的方法和属性,
Dog.prototype = new Animal();
你能告诉我这和
有什么不同吗Dog.prototype.__proto__ = Animal.prototype;
因为它们似乎具有相同的效果。
最佳答案
__proto__
允许您访问对象的内部 [[Prototype]]
属性。它可用于获取或设置已现有对象的原型(prototype)。
protoype
是一个函数的属性,用于设置该函数将创建的对象的原型(prototype)。
Afaik,只有 Firefox 允许您使用 __proto__
。 It is not standard and deprecated .
值得一读:
关于javascript - 快速 Javascript 继承 : Understanding __proto__,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6225562/