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 相关文章推荐
extjs3 combobox取value和text案例详解
Feb 06 Javascript
js实时获取系统当前时间实例代码
Jun 28 Javascript
document.execCommand()的用法小结
Jan 08 Javascript
jQuery中get和post方法传值测试及注意事项
Aug 08 Javascript
jquery实现表单输入时提示文字滑动向上效果
Aug 10 Javascript
每个程序员都需要学习 JavaScript 的7个理由小结
Sep 03 Javascript
Javascript实现登录记住用户名和密码功能
Mar 22 Javascript
jQuery实现的回车触发按钮事件功能示例
Mar 25 jQuery
前端防止用户重复提交js实现代码示例
Sep 07 Javascript
VUE2.0+ElementUI2.0表格el-table实现表头扩展el-tooltip
Nov 30 Javascript
JS实现的A*寻路算法详解
Dec 14 Javascript
Vue自定义多选组件使用详解
Sep 08 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
php防注
2007/01/15 PHP
如何在PHP程序中防止盗链
2008/04/09 PHP
php adodb分页实现代码
2009/03/19 PHP
深入了解 register_globals (附register_globals=off 网站打不开的解决方法)
2012/06/27 PHP
php解析xml方法实例详解
2015/05/12 PHP
php在linux环境中如何使用redis详解
2020/12/15 PHP
juqery 学习之五 文档处理 包裹、替换、删除、复制
2011/02/11 Javascript
jQuery实现的仿select功能代码
2015/08/19 Javascript
js实现的页面矩阵图形变换特效
2016/01/26 Javascript
AngularJS中的$watch(),$digest()和$apply()区分
2016/04/04 Javascript
js实现获取两个日期之间所有日期的方法
2016/06/17 Javascript
jQuery Easyui Datagrid实现单行的上移下移及保存移动的结果
2016/08/15 Javascript
js以分隔符分隔数组中的元素并转换为字符串的方法
2016/11/16 Javascript
微信小程序实现图片轮播及文件上传
2017/04/07 Javascript
利用ECharts.js画K线图的方法示例
2018/01/10 Javascript
解决Jquery下拉框数据动态获取的问题
2018/01/25 jQuery
vue两个组件间值的传递或修改方式
2018/07/04 Javascript
详解Vue webapp项目通过HBulider打包原生APP(vue+webpack+HBulider)
2019/02/02 Javascript
vue组件之间数据传递的方法实例分析
2019/02/12 Javascript
详解微信小程序工程化探索之webpack实战
2020/04/20 Javascript
python代码检查工具pylint 让你的python更规范
2012/09/05 Python
在Python中使用判断语句和循环的教程
2015/04/25 Python
单利模式及python实现方式详解
2018/03/20 Python
python3正则提取字符串里的中文实例
2019/01/31 Python
详解Python循环作用域与闭包
2019/03/21 Python
PyQt QListWidget修改列表项item的行高方法
2019/06/20 Python
Python3.7 基于 pycryptodome 的AES加密解密、RSA加密解密、加签验签
2019/12/04 Python
Happy Socks英国官网:购买五颜六色的袜子
2020/11/03 全球购物
2014年十一国庆向国旗敬礼寄语
2014/04/11 职场文书
宿舍标语大全
2014/06/19 职场文书
常务副总经理岗位职责
2015/02/02 职场文书
酒店员工手册范本
2015/05/14 职场文书
2015大学生入党个人自传
2015/06/26 职场文书
只需要12页,掌握撰写一流商业计划书的技巧
2019/05/07 职场文书
教你用Python+selenium搭建自动化测试环境
2021/06/18 Python