对比工厂函数和构造函数

185 阅读1分钟
    通过工厂函数构造和通过构造函数构造的批量对象有什么不同?
  1. 构造对象的名称不同:构造函数相当于构造了一种类别,直观上表现为浏览器检查属性中可以发现该类的实例都有一个共同的名字;而工厂函数构造出来的对象都称为object;
  2. 构造的语法不同:使用构造函数时会通过关键字new进行构造,且this指针指向该对象,而工厂函数无需用该关键字,直接通过window对象调用函数;
  3. 返回方式不同:工厂函数需要用return返回对象,而通过构造函数可以自动返回该对象;
  4. 检查方式不同:类的实例可以通过instanceof来检查是否对应,而工厂函数的构造结果没有简便的方法,只能通过检查属性名称和数目来对应;