为什么组合构造函数/原型模式返回对象类型

Why does combination constructor/prototype pattern return typeof being object?

本文关键字:返回 对象 类型 模式 原型 组合 构造函数 为什么      更新时间:2023-09-26

我很难理解为什么typeof在使用此构造函数/原型模式时不在MyObject的实例上返回MyObject-它是在MyObject原型的构造函数设置为MyObject后,在新创建的实例上使用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;

如果要检查:newObject instanceof MyObject;(返回true(,请使用instanceof运算符

关于typeof为什么会这样做的更多信息:http://javascript.crockford.com/remedial.html

typeof只返回"object",请参阅https://developer.mozilla.org/en/JavaScript/Reference/Operators/Special/typeof

您可能想要的是:如何获取JavaScript对象';s级?