在构造函数中初始化的JavaScript Prototype属性不会覆盖分配的新原型

时间:2015-11-05 15:20:48

标签: javascript

示例:

function ChildClass() {
    **ChildClass.prototype.Field1 = "Field1 value";**
}

ChildClass.prototype = {};

var childInstance = new ChildClass();
print(childInstance.Field1);

为什么我们仍然可以访问childInstance.Field1?

2 个答案:

答案 0 :(得分:2)

您的构造函数正在添加属性。当您调用构造函数来创建新实例时,该字段将添加到原型中。

答案 1 :(得分:2)

因为您在构造函数内部设置了该属性,该构造函数在ChildClass.prototype = {};之后运行。