定义一个用于创建对象的接口,让子类决定实例化那一个类。工厂方法是一个类的实例化延迟到了他的子类。
var a = function(){
this.x = "a";
}
var b = function(){
this.x = "b";
}
var all = function(name){
switch(name){
case 'a': return new a();
case 'b': return new b();
}
}
这样就可以把你的需要使用到的方法,封装到一个类中, 减少全局环境种方法的数量,也减少了命名冲突的风险。