全部,如果我将一个对象传递给Object.create
,这意味着创建一个从它继承的新对象。下面的代码证明了这一点。
function Shape() {
this.x = 0;
this.y = 0;
}
Shape.prototype.move = function(x, y) {
this.x += x;
this.y += y;
console.info("Shape moved.");
};
Rectangle = Object.create(Shape);
Rectangle.__proto__==Shape;//it is true.yes, I can understand
Rectangle//It is Function {} I can not understand it.
Rectangle.constructor==Function//it is true.I can not understand it.
该图表示的关系如下。但我无法理解的是它的亮点部分。究竟是Rectangle
什么?我的意思是什么是Function{}
,它来自哪里?还有Rectangle.constructor
属性,不知道是不是所有的对象都有constructor
属性,属性有什么constructor
用?谢谢。
PS:以上数值都是在FireBug中计算和观察的。
通过 minitech 的评论更正图表