工厂模式
Q:是什么?
A:工厂模式就是我们提供一个模子,然后通过这个模子复制出需要的对象。我们需要多少个,就复制多少个。
javascriptvar 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:
- 没有办法识别对象实例的类型。
- 由于分别属于不同的实例,就不得不一直不停的为实例中的方法分配空间。