【发布时间】:2011-05-13 14:52:10
【问题描述】:
var print = function(text){
document.write(text);
document.write("</br>");
}
var A = function(){
}
A.prototype.name="A";
var B = function(){
}
B.prototype = new A();
B.prototype.name="B";
var C = function(){
}
C.prototype = new B();
C.prototype.name="C";
obj = new C();
print(obj.name);
print(obj.constructor.prototype.name);
print(obj.constructor == A);
这段代码给出了下一个输出:
C
A
true
为什么这里的 obj.constructor 是 A 而不是 C?
【问题讨论】:
-
构造函数属性在原型对象中定义,当你分配它时,你分配它的所有成员。必须定义任何想要具有不同值的成员,否则您将继承构造函数、toString、valueOF 以及原型包含的任何其他内容。
-
谢谢,我已经意识到了
标签: javascript