工厂函数:
function factory(name,age){
const obj = {}
obj.name = name
obj.age = age
return obj
}
var obj = factory('carl','28')
构造函数:
function Constructor(name,age){
this.name = name
this.age = age
}
var obj = new Constructor('carl','28')
构造函数与工厂函数之间差异:
- 工厂函数的使用不借助 new,而构造函数需要
- 工厂函数没有使用 this
- 工厂函数需要 明确 返回新对象,而构造函数不需要
还可以看一下new一个函数的过程