【发布时间】:2013-12-23 17:18:34
【问题描述】:
我从 Base 类继承到 Derived 类,如下所示:
说Base is View 和Derived is ItemVIew
function ItemView(){
View.call(this);
}
ItemView.prototype.__proto__ = View.prototype
以上这些都可以实现吗
Iteview.prototype = new View;
我还有一个问题
当我设置ItemView.prototype.__proto__ = View.prototype
,ItemView的原型是Function.prototype
这意味着我正在设置Function.prototype.__proto__ = View.prototype
所以View.prototype 的所有方法都被我定义的所有其他构造函数继承?
我可以通过ItemView.__proto__ = View.prototype 解决它吗?
扩展像 View 这样的基类以使 ItemView 仍然是构造函数的推荐方式是什么?
【问题讨论】:
-
原型的 _proto 是一个对象或者它的构造函数。你在实例上使用 _proto,在构造函数上使用 .prototype。它本质上与 instance.constructor.prototype 相同。
标签: javascript inheritance constructor