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 相关文章推荐
javascript事件模型代码
Jul 01 Javascript
浅析Javascript中bind()方法的使用与实现
Apr 29 Javascript
Vue2.x中的Render函数详解
May 30 Javascript
jQuery复合事件结合toggle()方法的用法示例
Jun 10 jQuery
angularJs中$http获取后台数据的实例讲解
Aug 08 Javascript
原生JS实现旋转轮播图+文字内容切换效果【附源码】
Sep 29 Javascript
对angular 实时更新模板视图的方法$apply详解
Oct 09 Javascript
vue实现todolist功能、todolist组件拆分及todolist的删除功能
Apr 11 Javascript
微信小程序常见页面跳转操作简单示例
May 01 Javascript
vue中$refs, $emit, $on, $once, $off的使用详解
May 26 Javascript
vue.js基于v-for实现批量渲染 Json数组对象列表数据示例
Aug 03 Javascript
Vue组件化(ref,props, mixin,.插件)详解
May 15 Vue.js
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
这部好评如潮的动漫 知名梗频出 但是画风劝退很多人
2020/03/08 日漫
用PHP实现多服务器共享SESSION数据的方法
2007/03/16 PHP
PHP跳转页面的几种实现方法详解
2013/06/08 PHP
php中通过数组进行高效随机抽取指定条记录的算法
2013/09/09 PHP
微信小程序 消息推送php服务器验证实例详解
2017/03/30 PHP
js中各浏览器中鼠标按键值的差异
2011/04/07 Javascript
jQuery移动和复制dom节点实用DOM操作案例
2012/12/17 Javascript
Javascript数据结构与算法之列表详解
2015/03/12 Javascript
js数组去重的方法汇总
2015/07/29 Javascript
再次谈论React.js实现原生js拖拽效果引起的一系列问题
2016/04/03 Javascript
JavaScript兼容性总结之获取非行间样式案例
2016/08/07 Javascript
扩展jquery easyui tree的搜索树节点方法(推荐)
2016/10/28 Javascript
bootstrap模态框跳转到当前模板页面 框消失了而背景存在问题的解决方法
2020/11/30 Javascript
JS 组件系列之 bootstrap treegrid 组件封装过程
2017/04/28 Javascript
jQuery选择器_动力节点Java学院整理
2017/07/05 jQuery
vuex的简单使用教程
2018/02/02 Javascript
Vue使用Proxy代理后仍无法生效的解决
2020/11/13 Javascript
[02:32]【DOTA2亚洲邀请赛】iceice,梦开始的地方
2017/03/13 DOTA
[01:03:22]LGD vs OG 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
Python用61行代码实现图片像素化的示例代码
2018/12/10 Python
解决tensorboard多个events文件显示紊乱的问题
2020/02/15 Python
python 轮询执行某函数的2种方式
2020/05/03 Python
简单了解Python变量作用域正确使用方法
2020/06/12 Python
Python grequests模块使用场景及代码实例
2020/08/10 Python
Python容器类型公共方法总结
2020/08/19 Python
使用css创建三角形 使用CSS3创建3d四面体原理及代码(html5实践)
2013/01/06 HTML / CSS
给导游的表扬信
2014/01/10 职场文书
公司前台辞职报告
2014/01/19 职场文书
将相和教学反思
2014/02/04 职场文书
九年级政治教学反思
2014/02/06 职场文书
奥巴马连任演讲稿
2014/05/15 职场文书
服装设计师求职信
2014/06/04 职场文书
股东出资证明书(正规版)
2014/09/24 职场文书
关于颐和园的导游词
2015/01/30 职场文书
小学运动会加油词
2015/07/18 职场文书
MySQL数据库 任意ip连接方法
2022/05/20 MySQL