【发布时间】:2018-02-07 11:00:04
【问题描述】:
我编写的Javascript代码如下:
function Shape() {
this.x = 0;
this.y = 0;
}
function Rectangle() {
Shape.call(this); // call super constructor.
}
Rectangle.prototype = Object.create(Shape.prototype);
function Tmp() {
this.a = 0;
this.b = 0;
}
Rectangle.prototype.constructor = Tmp;
var rect = Object.create(Rectangle.prototype);
console.log(rect)
那么输出是:
rect应该由构造函数Tmp初始化。我的问题是由构造函数Tmp初始化的对象rect的属性a和b在哪里?
【问题讨论】:
-
为什么要将
Rectangle.prototype.constructor设置为Tmp?这是一件非常奇怪且具有误导性的事情。
标签: javascript javascript-objects dom-events