又称静态工厂方法,由一个工厂对象决定创建,某一种产品对象类的实例,主要用来创建同一类对象。
比如创建一些书,这些书有公共的属性,比如目录,页码等,也有一些不同的属性,比如出版日期,作者等等,所以对于不同的属性进行针对性处理,比如将不同属性作为参数传递进来
function createBook(name, time, type) { // 创建一个对象,并对对象拓展属性和方法 var obj = new Object(); obj.name = name; obj.time = time; obj.type = type; obj.getName = function () { console.log(this.name); } return obj; } var b1 = createBook("js book", 2014, "js"); var b2 = createBook("css book", 2012, "css"); b1.getName(); b2.getName();通过创建一个新对象然后包装增强其属性和功能来实现。如果这些类继承同一父类,但是创建的对象是一个新的个体,所以此时的方法或者属性是不能公用的。
这种通过类的实例化对象创建。如果这些类继承同一父类,那么他们父类上的原型方法是可以公用的