js简单的工厂模式
2023-09-11 14:17:27 时间
<!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>
相关文章
- 结合Vue.js的前端压缩图片方案
- 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
- JS框架_(JQuery.js)纯css3进度条动画
- JS框架_(JQbar.js)柱状图动态百分比进度条特效
- JS框架_(Popup.js)3D对话框窗口插件
- JS框架_(JQuery.js)点赞按钮动画
- JS框架_(JQuery.js)上传进度条
- JS - false 的 六种类型
- flv.js播放视频时出现Failed to execute ‘appendBuffer’ on ‘SourceBuffer’ 错误
- node.js原生后台进阶(二)
- [Node.js]27. Level 5: URL Building & Doing the Request
- js导出excel
- vue.js3: 使用js-md5 (js-md5@0.7.3 / vue@3.2.26)
- js基础知识:es6中,当对象中的key名称为一个变量时,需要用`[]`括起来
- js操作节点对象-getElementById
- Cloud for Customer里的使用的一个第三方js库,用于gzip处理
- 简单JS--点击谁添加背景色demo效果示例(整理)
- 前端js实现打印(导出)excel表格
- node.js JS对象和JSON字符串之间的转换
- Vue.js 2.0 学习重点记录
- springmvc环境下使用ajaxfileupload.js进行文件上传
- 深入了解JS严格模式
- 【JS高级】js面向对象三大特性之封装—如何创建对象_05
- 【JS高级】js之函数、重载、匿名函数、作用域及作用域链_03