我很难理解为什么 typeof 在使用此构造函数/原型(prototype)模式时不会在 MyObject 的实例上返回 MyObject - 它在 MyObject 的原型(prototype)具有之后返回使用 MyObject 构造函数由 new 创建的实例上的对象将其构造函数设置为 MyObject - 有人可以解释为什么吗?
function MyObject(foo, bar) {
this.foo = foo;
this.bar = bar;
}
MyObject.prototype = {
constructor: MyObject,
someFunc: function() {
console.log(foo + " and " + bar);
}
}
var newObject = new MyObject("a", "b");
typeof newObject;
最佳答案
如果要检查以下内容,请使用 instanceof
运算符:newObject instanceof MyObject;
(返回 true)
有关 typeof 为何如此表现的更多信息:http://javascript.crockford.com/remedial.html
关于javascript - 为什么组合构造函数/原型(prototype)模式返回 typeof 是对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6575332/