我很难理解为什么typeof在使用这个构造函数/原型模式时不会在MyObject的实例上返回MyObject - 它是在MyObject的原型之后使用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;
答案 0 :(得分:3)
如果要检查以下内容,请使用instanceof
运算符:newObject instanceof MyObject;
(返回true)
有关typeof行为的更多信息:http://javascript.crockford.com/remedial.html
答案 1 :(得分:1)