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 相关文章推荐
非常好的js代码
Jun 27 Javascript
JavaScript 字符串连接性能优化
Dec 20 Javascript
jquery图片不完全按比例自动缩小的简单代码
Jul 29 Javascript
js setTimeout 常见问题小结
Aug 13 Javascript
JavaScript数组常用方法
Mar 02 Javascript
jQuery 3.0十大新特性
Jul 06 Javascript
jQuery实现的图片轮播效果完整示例
Sep 12 Javascript
网页瀑布流布局jQuery实现代码
Oct 21 Javascript
Angular 4依赖注入学习教程之InjectToken的使用(八)
Jun 04 Javascript
基于JS实现仿京东搜索栏随滑动透明度渐变效果
Jul 10 Javascript
vue的$http的get请求要加上params操作
Nov 12 Javascript
Vue实现圆环进度条的示例
Feb 06 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
PHP实时显示输出
2008/10/02 PHP
php 静态变量的初始化
2009/11/15 PHP
初次接触php抽象工厂模式(Elgg)
2010/03/21 PHP
PHP中foreach()用法汇总
2015/07/02 PHP
Android AsyncTack 异步任务实例详解
2016/11/02 PHP
PHP简单计算两个时间差的方法示例
2017/06/20 PHP
PHP数据库操作三:redis用法分析
2017/08/16 PHP
自动完成JS类(纯JS, Ajax模式)
2009/03/12 Javascript
JavaScript 设计模式学习 Singleton
2009/07/27 Javascript
javascript之Partial Application学习
2013/01/10 Javascript
jquery中通过父级查找进行定位示例
2013/06/28 Javascript
提高jQuery性能的十个诀窍
2013/11/14 Javascript
JQuery中$.each 和$(selector).each()的区别详解
2015/03/13 Javascript
jQuery Ajax 全局调用封装实例代码详解
2016/06/02 Javascript
用JS写的一个Ajax库(实例代码)
2016/08/06 Javascript
jquery自动补齐功能插件flexselect用法示例
2016/08/06 Javascript
javascript表单正则应用
2017/02/04 Javascript
vue实现键盘输入支付密码功能
2018/08/18 Javascript
封装Vue Element的table表格组件的示例详解
2020/08/19 Javascript
[00:57]深扒TI7聊天轮盘语音出处5
2017/05/11 DOTA
[48:00]EG vs LGD 2018国际邀请赛淘汰赛BO3 第二场 8.26
2018/08/29 DOTA
python 环境变量和import模块导入方法(详解)
2017/07/11 Python
python3.4+pycharm 环境安装及使用方法
2019/06/13 Python
DJango的创建和使用详解(默认数据库sqlite3)
2019/11/18 Python
Python+OpenCV 实现图片无损旋转90°且无黑边
2019/12/12 Python
python 判断txt每行内容中是否包含子串并重新写入保存的实例
2020/03/12 Python
Keras 快速解决OOM超内存的问题
2020/06/11 Python
python drf各类组件的用法和作用
2021/01/12 Python
matplotlib更改窗口图标的方法示例
2021/02/03 Python
html5 Canvas画图教程(8)—canvas里画曲线之bezierCurveTo方法
2013/01/09 HTML / CSS
就业推荐表自我鉴定范文
2014/03/21 职场文书
普通党员个人剖析材料
2014/10/08 职场文书
离婚协议书范文2014
2014/10/16 职场文书
迁户口计划生育证明
2014/10/19 职场文书
中学生清明节演讲稿
2015/03/18 职场文书
通过Python把学姐照片做成拼图游戏
2022/02/15 Python