javascript 类定义的4种方法


Posted in Javascript onSeptember 12, 2009
/* 
工厂方式--- 创建并返回特定类型的对象的 工厂函数 ( factory function ) 
*/ 
function createCar(color,doors,mpg){ 
var tempCar = new Object; 
tempCar.color = color; 
tempCar.doors = doors; 
tempCar.mpg = mpg; 
tempCar.showCar = function(){ 
alert(this.color + " " + this.doors); 
} 
return tempCar; 
} /* 
构造函数方式--- 构造函数看起来很像工厂函数 
*/ 
function Car(color,doors,mpg){ 
this.color = color; 
this.doors = doors; 
this.mpg = mpg; 
this.showCar = function(){ 
alert(this.color); 
}; 
} 
/* 
原型方式--- 利用了对象的 prototype 属性,可把它看成创建新对象所依赖的原型 
*/ 
function Car(color,doors,mpg){ 
this.color = color; 
this.doors = doors; 
this.mpg = mpg; 
this.drivers = new Array("nomad","angel"); 
} 
Car.prototype.showCar3 = function(){ 
alert(this.color); 
}; 
/* 
混合的构造函数 /原型方式--- 用构造函数定义对象的所有非函数属性,用原型方式定义对象的函数属性(方法) 
*/ 
function Car(sColor, iDoors, iMpg) { 
this.color = sColor; 
this.doors = iDoors; 
this.mpg = iMpg; 
this.drivers = new Array("Mike", "Sue"); 
} 
Car.prototype.showColor = function () { 
alert(this.color); 
}; 
/* 
动态原型方法--- 在构造函数内定义非函数属性,而函数属性则利用原型属性定义。唯一的区别是赋予对象方法的位置。 
*/ 
function Car(sColor, iDoors, iMpg) { 
this.color = sColor; 
this.doors = iDoors; 
this.mpg = iMpg; 
this.drivers = new Array("Mike", "Sue"); 
if (typeof Car._initialized == "undefined") { 
Car.prototype.showColor = function () { 
alert(this.color); 
}; 
Car._initialized = true; 
} 
} //该方法使用标志( _initialized )来判断是否已给原型赋予了任何方法。
Javascript 相关文章推荐
javascript继承之为什么要继承
Nov 10 Javascript
JavaScript 实现完美兼容多浏览器的复制功能代码
Apr 28 Javascript
js实现表单多按钮提交action的处理方法
Oct 24 Javascript
第五篇Bootstrap 排版
Jun 21 Javascript
js实现添加可信站点、修改activex安全设置,禁用弹出窗口阻止程序
Aug 17 Javascript
jquery点击展示与隐藏更多内容
Dec 03 Javascript
JS正则获取HTML元素的方法
Mar 31 Javascript
selenium 与 chrome 进行qq登录并发邮件操作实例详解
Apr 06 Javascript
Vuejs入门教程之Vue生命周期,数据,手动挂载,指令,过滤器
Apr 19 Javascript
vue2过滤器模糊查询方法
Sep 16 Javascript
Vue + Scss 动态切换主题颜色实现换肤的示例代码
Apr 27 Javascript
JS自定义右键菜单实现代码解析
Jul 16 Javascript
一个简单的javascript类定义例子
Sep 12 #Javascript
一个简单的JavaScript 日期计算算法
Sep 11 #Javascript
关于javascript 回调函数中变量作用域的讨论
Sep 11 #Javascript
javascript 一些用法小结
Sep 11 #Javascript
JS 日期验证正则附asp日期格式化函数
Sep 11 #Javascript
jquery 简单导航实现代码
Sep 11 #Javascript
禁止JQuery中的load方法装载IE缓存中文件的方法
Sep 11 #Javascript
You might like
中英文字符串翻转函数
2008/12/09 PHP
PHP实现批量删除(封装)
2017/04/28 PHP
laravel框架查询数据集转为数组的两种方法
2019/10/10 PHP
mouse_on_title.js
2006/08/25 Javascript
JavaScript在IE中“意外地调用了方法或属性访问”
2008/11/19 Javascript
Three.js源码阅读笔记(Object3D类)
2012/12/27 Javascript
setInterval,setTimeout与jquery混用的问题
2013/04/08 Javascript
javascript操纵OGNL标签示例代码
2014/06/16 Javascript
javascript数组对象常用api函数小结(连接,插入,删除,反转,排序等)
2016/09/20 Javascript
Restify中接入Socket.io报Error:Can’t set headers的错误解决
2017/03/28 Javascript
利用js编写网页进度条效果
2017/10/08 Javascript
基于JavaScript实现一个简单的Vue
2018/09/26 Javascript
Vuex的actions属性的具体使用
2019/04/14 Javascript
vue实现选中效果
2020/10/07 Javascript
[00:34]DOTA2上海特级锦标赛 VG战队宣传片
2016/03/04 DOTA
[45:10]NB vs Liquid Supermajor小组赛 A组胜者组决赛 BO3 第二场 6.2
2018/06/04 DOTA
使用Python脚本来获取Cisco设备信息的示例
2015/05/04 Python
Python中使用装饰器来优化尾递归的示例
2016/06/18 Python
Python语言生成水仙花数代码示例
2017/12/18 Python
python使用正则表达式来获取文件名的前缀方法
2018/10/21 Python
python实现AES加密与解密
2019/03/28 Python
python实现程序重启和系统重启方式
2020/04/16 Python
Pandas的数据过滤实现
2021/01/15 Python
全球领先的鞋类零售商:The Walking Company
2016/07/21 全球购物
英国著名的药妆网站:Escentual
2016/07/29 全球购物
Skyscanner加拿大:全球旅行搜索平台
2018/11/19 全球购物
蒙蒂塞罗商店:Monticello Shop
2018/11/25 全球购物
PHP面试题及答案一
2012/06/18 面试题
学前教育毕业生自荐信
2013/10/29 职场文书
简历中求职的个人自我评价
2013/12/03 职场文书
三年级科学教学反思
2014/01/29 职场文书
DIY手工制作经营店创业计划书
2014/02/01 职场文书
婚纱摄影师求职信范文
2014/04/17 职场文书
模具专业自荐信
2014/05/29 职场文书
交通局领导班子群众路线教育实践活动对照检查材料思想汇报
2014/10/09 职场文书
2015年化验室工作总结
2015/04/23 职场文书