简单来说就是返回一个新对象 return new Factory(param)
var Basketball=function(){
this.intro="篮球流星于美国"
}
Basketball.prototype={
getNum:function(){
console.log("每个队伍需要三个人")
},
getBallSize:function(){
console.log("篮球很大")
}
}
var Football=function(){
this.intro="足球流行于南美"
}
Football.prototype={
getNum:function(){
console.log("每个队伍需要11个人")
},
getBallSize:function(){
console.log("足球很小")
}
}
var Tennis=function(){
this.intro="网球流星于英国"
}
Tennis.prototype={
getNum:function(){
console.log("每个队伍需要X个人")
},
getBallSize:function(){
console.log("网球很大")
}
}
var SportFactory=function(name){
switch(name){
case "NBA":
return new Basketball();
case "wordcup":
return new Football();
case "FreeOpen":
return new Tennis();
}
}
var football=SportFactory("wordcup");
代码复用,可以用如下方式
function createPop(type,text){
var o=new Object();
o.content=text;
o.show=function(){
//显示方法
}
if(type=="alert"){
//警示框
}
if(type=="prompt"){
//提示框
}
return o;
}
var userNameAlert=createPop("alert","用户名错误")
简单工厂模式