Javascript面向对象设计一 工厂模式


Posted in Javascript onDecember 20, 2011

1、工厂模式抽象了创建具体对象的过程,但是在ECMAScript中无法创建类,所以就使用一种函数来封装以特定接口创建对象的细节。以一下情况为例,
有一个员工类,有姓名、年龄、职位属性,

function CreateEmployee(name, age, job) { 
var Emp = new Object(); 
Emp.name = name; 
Emp.age = age; 
Emp.job = job; 
Emp.sayName = function () { 
alert(this.name); 
}; 
return Emp; 
}

使用以上方法定义两个员工,Jim,Sun
var Jim = CreateEmployee("jim", 22, "SoftWare Engineer"); 
var Sun = CreateEmployee("Sun",24,"Doctor");

然后分别使用SayName方法,让两位员工报上名来
Jim.sayName(); 
Sun.sayName();

函数CreateEmployee可以根据参数来构建一个包含必要信息的Employee对象,可以无限次的调用这个函数。工厂模式虽然解决了创建多个相似对象的问题,但是却没有解决怎样知道一个对象类型的问题。
Javascript 相关文章推荐
jquery 简单的进度条实现代码
Mar 11 Javascript
javascript中验证大写字母、数字和中文
Jan 15 Javascript
JS获取字符串实际长度(包含汉字)的简单方法
Aug 11 Javascript
vue.js之vue-cli脚手架的搭建详解
May 05 Javascript
微信小程序开发animation心跳动画效果
Aug 16 Javascript
关于Ajax的原理以及代码封装详解
Sep 08 Javascript
在vue中通过axios异步使用echarts的方法
Jan 13 Javascript
通过一次报错详细谈谈Point事件
May 17 Javascript
JavaScript数组、json对象、eval()函数用法实例分析
Feb 21 Javascript
cordova+vue+webapp使用html5获取地理位置的方法
Jul 06 Javascript
通过JS判断网页是否为手机打开
Oct 28 Javascript
vue3中轻松实现switch功能组件的全过程
Jan 07 Vue.js
用JavaScript仿PS里的羽化效果代码
Dec 20 #Javascript
javascript判断iphone/android手机横竖屏模式的函数
Dec 20 #Javascript
五段实用的js高级技巧
Dec 20 #Javascript
更换select下拉菜单背景样式的实现代码
Dec 20 #Javascript
在iframe里的页面编写js,实现在父窗口上创建动画效果展开和收缩的div(不变动iframe父窗口代码)
Dec 20 #Javascript
extjs实现选择多表自定义查询功能 前台部分(ext源码)
Dec 20 #Javascript
createElement与createDocumentFragment的点点区别小结
Dec 19 #Javascript
You might like
用PHP 4.2书写安全的脚本
2006/10/09 PHP
用PHP的超级变量$_GET获取HTML表单(Form) 数据
2011/05/07 PHP
PHP的垃圾回收机制代码实例讲解
2021/02/27 PHP
用javascript实现计算两个日期的间隔天数
2007/08/14 Javascript
JavaScript.The.Good.Parts阅读笔记(二)作用域&闭包&减缓全局空间污染
2010/11/16 Javascript
jQuery的学习步骤
2011/02/23 Javascript
国外大牛IE版本检测!现在IE都到9了,IE检测代码
2012/01/04 Javascript
JS 屏蔽按键效果与改变按键效果的示例代码
2013/12/24 Javascript
使用jquery选择器如何获取父级元素、同级元素、子元素
2014/05/14 Javascript
jQuery绑定事件不执行但alert后可以正常执行
2014/06/03 Javascript
jQuery获取选中内容及设置元素属性的方法
2014/07/09 Javascript
JS输入用户名自动显示邮箱后缀列表的方法
2015/01/27 Javascript
JavaScript控制网页层收起和展开效果的方法
2015/04/15 Javascript
JQuery遍历DOM节点的方法
2015/06/11 Javascript
php结合imgareaselect实现图片裁剪
2015/07/05 Javascript
基于jQuery实现点击弹出层实例代码
2016/01/01 Javascript
js放大镜放大购物图片效果
2017/01/18 Javascript
详解nodeJs文件系统(fs)与流(stream)
2018/01/24 NodeJs
JS获取url参数,JS发送json格式的POST请求方法
2018/03/29 Javascript
JS实现的DOM插入节点操作示例
2018/04/04 Javascript
详解angularjs4部署文件过大解决过程
2018/12/05 Javascript
Angular4.0动画操作实例详解
2019/05/10 Javascript
移动端手指操控左右滑动的菜单
2019/09/08 Javascript
[01:46]新英雄登场
2019/09/10 DOTA
用Python实现命令行闹钟脚本实例
2016/09/05 Python
在Python中使用AOP实现Redis缓存示例
2017/07/11 Python
python多进程中的内存复制(实例讲解)
2018/01/05 Python
python将.ppm格式图片转换成.jpg格式文件的方法
2018/10/27 Python
BIBLOO捷克:购买女装、男装、童装、鞋和配件
2017/01/27 全球购物
师德师风个人反思
2014/04/28 职场文书
五分钟演讲稿
2014/04/30 职场文书
房屋认购协议书
2015/01/29 职场文书
2015年党总支工作总结
2015/05/25 职场文书
幼儿园教师辞职信
2019/06/21 职场文书
一篇文章带你复习java知识点
2021/06/28 Java/Android
Golang并发操作中常见的读写锁详析
2021/08/30 Golang