<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>簡單工廠模式</title>
<!--簡單工廠模式,又叫靜態工廠方法,由一個工廠對象決定創建一種產品對象類的實例,只要用來創建同一類對象。-->
<!--使用情況,有很多類的時候,每次創建實例對象還要找到相應的類,太麻煩,
將這些類封裝在一個函數裏,這樣只需要記住這個函數,通過這個函數就可以創建我需要的對象,
不用再關注創建這些對象到底依賴於哪個基類(通過工廠函數傳入一個字段,使用switch區分,分別完成創建實例的操作-->
<script>
window.onload=function(){
var basketball=function(){
this.info="籃球盛行於美國";
}
basketball.prototype={
getMember:function(){
console.log("5個人");
},
getBallSize:function(){
console.log("大");
}
}
var football=function(){
this.info="足球盛行於巴西";
}
football.prototype={
getMember:function(){
console.log("11個人");
},
getBallSize:function(){
console.log("小");
}
}
var ballFactor=function(name){//在工廠類中通過傳入的name分別進行相應的實例化對象操作
switch(name){
case "basketball":
return new basketball();
case "football":
return new football();
}
}
var test=new ballFactor("basketball");//可以直接操作test
console.log(test);
console.log(test.info);
test.getMember();
console.log("額");
}
</script>
</head>
<body>
<p>按F12打開調試界面</p>
</body>
</html>