簡單來說就是返回一個新對象 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="網(wǎng)球流星于英國"
}
Tennis.prototype={
getNum:function(){
console.log("每個隊伍需要X個人")
},
getBallSize:function(){
console.log("網(wǎng)球很大")
}
}
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");
代碼復(fù)用,可以用如下方式
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","用戶名錯誤")
簡單工廠模式