js简单工厂模式用法实例


Posted in Javascript onJune 30, 2015

本文实例讲述了js简单工厂模式用法。分享给大家供大家参考。具体实现方法如下:

<!DOCTYPE html>
<html>
<head>
<title>简单工厂模式</title>
</head>
<body>
<script>
  //简单工厂模式
  var BicycleShop = function(){};
  BicycleShop.prototype ={
    sellBicycle : function(model){
      var bicycle = null;
      switch(model){
        case 'The Speedster':
          bicycle = new Speedster();
          break;
        case 'The lowride':
          bicycle = new Lowride();
          break;
        case 'The Comfort Cruise':
          bicycle = new ComfortCruise();
          break;
      };
      Interface.ensureImplements(bicycle,Bicycle);
      bicycle.assemble();
      bicycle.wash();
      return bicycle;
    }
  };
  var AcmeBicycleShop = function(){};
  extent(AcmeBicycleShop, BicycleShop);
  AcmeBicycleShop.prototype.createBicycle = function(model){
    var bicycle = null;
    switch(model){
      case 'The speedster':
        bicycle = new AcmeSpeedster();
        break;
      case 'The Lowrider':
        bicycle = new AcmeLowrider();
        break;
      case 'The Flatlander':
        bicycle = new AcmeFlatlander();
        break;
      case 'The Comfort Cruiser':
      default :
        bicycle = new AcmeComfortCruiser();
    };
    Interface.ensureImplements(bicycle,Bicycle);
    return bicycle;
  };
  //工厂模式适用与一个 fn 根据参数不同,创建不同的对象
</script>
</body>
</html>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
jquery下异步提交表单 异步跨域提交表单
Nov 17 Javascript
JQuery触发radio或checkbox的change事件
Dec 18 Javascript
jQuery中ajax的使用与缓存问题的解决方法
Dec 19 Javascript
Shell脚本实现Linux系统和进程资源监控
Mar 05 Javascript
JavaScript常用基础知识强化学习
Dec 09 Javascript
AngularJS辅助库browserTrigger用法示例
Nov 03 Javascript
js鼠标经过tab选项卡时实现切换延迟
Mar 24 Javascript
自制简易打赏功能的实例
Sep 02 Javascript
Vue利用路由钩子token过期后跳转到登录页的实例
Oct 26 Javascript
微信小程序tabBar模板用法实例分析【附demo源码下载】
Nov 28 Javascript
详解vue-cli快速构建vue应用并实现webpack打包
Dec 13 Javascript
Vue实现active点击切换方法
Mar 16 Javascript
JavaScript判断undefined类型的正确方法
Jun 30 #Javascript
超赞的动手创建JavaScript框架的详细教程
Jun 30 #Javascript
JavaScript中Null与Undefined的区别解析
Jun 30 #Javascript
jQuery结合AJAX之在页面滚动时从服务器加载数据
Jun 30 #Javascript
深入探究使JavaScript动画流畅的一些方法
Jun 30 #Javascript
使用jQuery在对象中缓存选择器的简单方法
Jun 30 #Javascript
在Node.js应用中读写Redis数据库的简单方法
Jun 30 #Javascript
You might like
jquery $(document).ready() 与window.onload的区别
2009/12/28 Javascript
基于jquery实现点击左右按钮图片横向滚动
2013/04/11 Javascript
用innerhtml提高页面打开速度的方法
2013/08/02 Javascript
JQuery的$命名冲突详细解析
2013/12/28 Javascript
nodejs实现黑名单中间件设计
2014/06/17 NodeJs
js中substring和substr两者区别和使用方法
2015/11/09 Javascript
js 判断附件后缀的简单实现方法
2016/10/11 Javascript
微信小程序商城项目之侧栏分类效果(1)
2017/04/17 Javascript
解析Vue.js中的组件
2018/02/02 Javascript
jQuery实现鼠标响应式透明度渐变动画效果示例
2018/02/13 jQuery
p5.js入门教程之鼠标交互的示例
2018/03/16 Javascript
vue动态路由配置及路由传参的方式
2018/05/23 Javascript
解决Layui 表单提交数据为空的问题
2018/08/15 Javascript
JavaScript中break、continue和return的用法区别实例分析
2020/03/02 Javascript
[56:41]iG vs Winstrike 2018国际邀请赛小组赛BO2 第二场
2018/08/17 DOTA
python文件操作之目录遍历实例分析
2015/05/20 Python
Python爬取数据保存为Json格式的代码示例
2019/04/09 Python
HTML5 3D衣服摇摆动画特效
2016/03/17 HTML / CSS
iHerb中文官网:维生素、保健品和健康产品
2018/11/01 全球购物
加拿大的标志性百货公司:Hudson’s Bay(哈得逊湾)
2019/09/03 全球购物
法国体育用品商店:GO Sport
2019/10/23 全球购物
介绍一下XMLHttpRequest对象
2012/02/12 面试题
汽车销售求职自荐信
2013/10/01 职场文书
生产内勤岗位职责
2013/12/07 职场文书
优秀社区干部事迹材料
2014/02/03 职场文书
行政人事经理职位说明书
2014/03/05 职场文书
市场营销工作计划书
2014/05/06 职场文书
法律顾问服务方案
2014/05/15 职场文书
2014年学雷锋活动总结
2014/06/26 职场文书
导游词欢迎词
2015/02/02 职场文书
刑事上诉状范文
2015/05/22 职场文书
2016优秀教师先进个人事迹材料
2016/02/25 职场文书
幼儿园2016年感恩节活动总结
2016/04/01 职场文书
pandas取dataframe特定行列的实现方法
2021/05/24 Python
python Django框架快速入门教程(后台管理)
2021/07/21 Python
浅谈Redis 中的过期删除策略和内存淘汰机制
2022/04/03 Redis