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实现页面打印的三种方法
Mar 05 Javascript
director.js实现前端路由使用实例
Feb 03 Javascript
JavaScript实现同时调用多个函数的方法
Nov 09 Javascript
JavaScript中Window对象的属性及事件
Dec 25 Javascript
Javascript类型转换的规则实例解析
Feb 23 Javascript
详谈JS中实现种子随机数及作用
Jul 19 Javascript
基于js实现checkbox批量选中操作
Nov 22 Javascript
根据输入邮箱号跳转到相应登录地址的解决方法
Dec 13 Javascript
js动态引入的四种方法
May 05 Javascript
vue头部导航动态点击处理方法
Nov 02 Javascript
JS基于Location实现访问Url、重定向及刷新页面的方法分析
Dec 03 Javascript
通过滑动翻页效果实现和移动端click事件问题
Jan 26 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
Snoopy类使用小例子
2008/04/15 PHP
PHP simple_html_dom.php+正则 采集文章代码
2009/12/24 PHP
destoon实现调用自增数字从1开始的方法
2014/08/21 PHP
php数组查找函数总结
2014/11/18 PHP
PHP中类属性与类静态变量的访问方法示例
2016/07/13 PHP
php fread读取文件注意事项
2016/09/24 PHP
thinkPHP5.1框架中Request类四种调用方式示例
2019/08/03 PHP
js数组中如何随机取出一个值
2014/06/13 Javascript
JS简单随机数生成方法
2016/09/05 Javascript
Vue filter介绍及其使用详解
2017/10/21 Javascript
微信小程序自定义扫码功能界面的实现代码
2020/07/02 Javascript
[03:27]《辉夜杯》线下训练营 导师CU和海涛指点迷津
2015/10/23 DOTA
Linux下使用python调用top命令获得CPU利用率
2015/03/10 Python
Python使用修饰器执行函数的参数检查功能示例
2017/09/26 Python
python实现微信跳一跳辅助工具步骤详解
2018/01/04 Python
Pandas 对Dataframe结构排序的实现方法
2018/04/10 Python
pandas groupby 分组取每组的前几行记录方法
2018/04/20 Python
python 修改本地网络配置的方法
2019/08/14 Python
Python3标准库之threading进程中管理并发操作方法
2020/03/30 Python
如何利用pycharm进行代码更新比较
2020/11/04 Python
纯HTML5+CSS3制作生日蛋糕代码
2016/11/16 HTML / CSS
德国价格合理的品牌商品购物网站:averdo
2019/03/21 全球购物
教师实习的自我鉴定
2013/10/26 职场文书
大学生党课思想汇报
2013/12/29 职场文书
大学生的创业计划书就该这么写
2014/01/30 职场文书
销售冠军获奖感言
2014/02/03 职场文书
护士自我鉴定怎么写
2014/02/07 职场文书
公司营业员的自我评价
2014/03/04 职场文书
物流管理专业毕业生自荐信
2014/03/04 职场文书
公立医院改革实施方案
2014/03/14 职场文书
中秋节国旗下演讲稿
2014/09/13 职场文书
2014年体育部工作总结
2014/11/13 职场文书
稽核岗位职责
2015/02/10 职场文书
2019年农民幸福观调查的实践感悟
2019/12/19 职场文书
python实战之用emoji表情生成文字
2021/05/08 Python
超详细教你怎么升级Mysql的版本
2021/05/19 MySQL