简单说
工厂模式生成的对象,只知道是个对象,但是不知道是哪个工厂生产的。
构造函数模式生成的对象,你不仅知道它是个对象,而且你还知道它是哪来的。
例如
/*构造函数*/
function ObjKind(num=0){
this.num=num;
}
/*工厂模式*/
function factoryKind(num){
return {
num
}
}
const oObj=new ObjKind(1)
const fObj=factoryKind(1)
console.log(oObj instanceof ObjKind); //true; 我是ObjKind产出的
console.log(oObj instanceof Object); //true; 我也知道我是个对象
console.log(fObj instanceof factoryKind); //false 我不知道我是不是factoryKind产出的
console.log(fObj instanceof Object); //true; 我只知道我是个对象