工厂模式
Q:是什么?
-
A:工厂模式就是我们提供一个模子,然后通过这个模子复制出需要的对象。我们需要多少个,就复制多少个。
var createPerson = function(name, age) {
// 声明一个中间对象,该对象就是工厂模式的模子
var o = new Object();
// 依次添加我们需要的属性与方法
o.name = name;
o.age = age;
o.getName = function() {
return this.name;
}
return o;
}
// 创建两个实例
var perTom = createPerson('TOM', 20);
var PerJake = createPerson('Jake', 22);
Q:缺点有哪些?
- A:
- 没有办法识别对象实例的类型。
- 由于分别属于不同的实例,就不得不一直不停的为实例中的方法分配空间。