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与css打造个性化的单选框和复选框
Oct 20 Javascript
基于Jquery制作的幻灯片图集效果打包下载
Feb 12 Javascript
完美兼容多浏览器的js判断图片路径代码汇总
Apr 17 Javascript
JS实现状态栏跑马灯文字效果代码
Oct 24 Javascript
学习使用AngularJS文件上传控件
Feb 16 Javascript
JS如何设置cookie有效期为当天24点并弹出欢迎登陆界面
Aug 04 Javascript
原生js编写2048小游戏
Mar 17 Javascript
jQuery操作css样式
May 15 jQuery
axios携带cookie配置详解(axios+koa)
Dec 28 Javascript
Vue的Eslint配置文件eslintrc.js说明与规则介绍
Feb 03 Javascript
详细分析Node.js 多进程
Jun 22 Javascript
基于js实现的图片拖拽排序源码实例
Nov 04 Javascript
用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桌面中心(三) 修改数据库
2007/03/11 PHP
discuz Passport 通行证 整合笔记
2008/06/30 PHP
用PHP的ob_start() 控制您的浏览器cache
2009/08/03 PHP
zf框架的校验器使用使用示例(自定义校验器和校验器链)
2014/03/13 PHP
PHP超低内存遍历目录文件和读取超大文件的方法
2019/05/01 PHP
PHP开发api接口安全验证操作实例详解
2020/03/26 PHP
Javascript 获取字符串字节数的多种方法
2009/06/02 Javascript
查询绑定数据岛的表格中的文本并修改显示方式的js代码
2009/12/15 Javascript
浅析JavaScript原型继承的陷阱
2013/12/03 Javascript
js使用Array.prototype.sort()对数组对象排序的方法
2015/01/28 Javascript
轻松5句话解决JavaScript的作用域
2016/07/15 Javascript
jquery easyUI中ajax异步校验用户名
2016/08/19 Javascript
JS实现鼠标移上去显示图片或微信二维码
2016/12/14 Javascript
Javascript 链式作用域详细介绍
2017/02/23 Javascript
PostgreSQL Node.js实现函数计算方法示例
2019/02/12 Javascript
微信js-sdk 录音功能的示例代码
2019/11/01 Javascript
vue项目中自定义video视频控制条的实现代码
2020/04/26 Javascript
Vue实现可移动水平时间轴
2020/06/29 Javascript
vscode 调试 node.js的方法步骤
2020/09/15 Javascript
Vue 数据绑定的原理分析
2020/11/16 Javascript
python3 requests中使用ip代理池随机生成ip的实例
2018/05/07 Python
python:print格式化输出到文件的实例
2018/05/14 Python
python检索特定内容的文本文件实例
2018/06/05 Python
python利用tkinter实现屏保
2019/07/30 Python
Python字典实现伪切片功能
2020/10/28 Python
CSS3盒子模型详解
2013/04/24 HTML / CSS
html5+css3之动画在webapp中的应用
2014/11/21 HTML / CSS
委托书范本
2014/04/02 职场文书
水电站项目建议书
2014/05/12 职场文书
增员口号大全
2014/06/18 职场文书
县政府办公室领导班子个人对照检查材料
2014/09/16 职场文书
党的群众路线教育实践活动学习笔记范文
2014/11/06 职场文书
党员个人党性分析材料
2014/12/18 职场文书
房屋产权证明书
2015/06/19 职场文书
初中团支书竞选稿
2015/11/21 职场文书
解决Pytorch dataloader时报错每个tensor维度不一样的问题
2021/05/28 Python