如果原型(prototype)丢失,为什么 obj.constuctor.name 给出 2 个不同的结果?如果它有原型(prototype),我如何获取构造函数名称而不是“Object”?
// Class with prototype
function Foo(a) {
this.a = a;
}
Foo.prototype = {
bar: function () {
console.log(this.a);
}
};
f=new Foo(1)
f.constructor.name
"Object"
// Class with no prototype
function Fooee(a) {
this.a = a;
}
f1=new Fooee(1)
f1.constructor.name
"Fooee"
最佳答案
您将通过将原型(prototype)重新定义为对象 {}
来更改 Foo()
的构造函数。
你应该这样做:
Foo.prototype.bar = function () {
console.log(this.a);
}
关于javascript:如果原型(prototype)丢失,为什么 obj.constuctor.name 会给出 2 个不同的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24577000/