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 相关文章推荐
用js实现控制内容的向上向下滚动效果
Jun 26 Javascript
jQuery图片预加载 等比缩放实现代码
Oct 04 Javascript
JavaScript实现拼音排序的方法
Nov 20 Javascript
jQuery支持添加事件的日历特效代码分享(3种样式)
Aug 24 Javascript
jQuery控制li上下循环滚动插件用法实例(附demo源码下载)
May 28 Javascript
基于js 字符串indexof与search方法的区别(详解)
Dec 04 Javascript
基于jquery的on和click的区别详解
Jan 15 jQuery
详解微信小程序的 request 封装示例
Aug 21 Javascript
微信小程序中的店铺评分组件及vue中用svg实现的评分显示组件
Nov 16 Javascript
jQuery实现文本显示一段时间后隐藏的方法分析
Jun 20 jQuery
vue下axios拦截器token刷新机制的实例代码
Jan 17 Javascript
微信小程序实现下拉加载更多商品
Dec 29 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中常用的输出函数总结
2014/09/22 PHP
PHP创建word文档的方法(平台无关)
2016/03/29 PHP
laravel框架 api自定义全局异常处理方法
2019/10/11 PHP
JavaScript 变量命名规则
2009/09/23 Javascript
JQuery Ajax通过Handler访问外部XML数据的代码
2010/06/01 Javascript
JavaScript定时器详解及实例
2013/08/01 Javascript
Jquery.Form 异步提交表单的简单实例
2014/03/03 Javascript
使用iframe window的scroll方法控制iframe页面滚动
2014/03/05 Javascript
extjs每个组件要设置唯一的ID否则会出错
2014/06/15 Javascript
JS获取时间的方法
2015/01/21 Javascript
JavaScript检测浏览器cookie是否已经启动的方法
2015/02/27 Javascript
DOM 高级编程
2015/05/06 Javascript
使用CamanJS在Web页面上处理图像的技巧
2015/08/18 Javascript
jQuery实现彩带延伸效果的网页加载条loading动画
2015/10/29 Javascript
AngularJS使用ng-repeat指令实现下拉框
2016/08/23 Javascript
BootStrap中Table分页插件使用详解
2016/10/09 Javascript
BootStrap按钮标签及基本样式
2016/11/23 Javascript
不到200行 JavaScript 代码实现富文本编辑器的方法
2018/01/03 Javascript
Vue.extend实现挂载到实例上的方法
2019/05/01 Javascript
JavaScript实现的联动菜单特效示例
2019/07/08 Javascript
vue中解决微信html5原生ios虚拟键返回不刷新问题
2020/10/20 Javascript
Python封装shell命令实例分析
2015/05/05 Python
Python中encode()方法的使用简介
2015/05/18 Python
老生常谈进程线程协程那些事儿
2017/07/24 Python
python3实现基于用户的协同过滤
2018/05/31 Python
python中利用numpy.array()实现俩个数值列表的对应相加方法
2019/08/26 Python
pyqt5、qtdesigner安装和环境设置教程
2019/09/25 Python
Tensorflow与Keras自适应使用显存方式
2020/06/22 Python
基于PyTorch中view的用法说明
2021/03/03 Python
HTML5之SVG 2D入门5—颜色的表示及定义方式
2013/01/30 HTML / CSS
百联网上商城:i百联
2017/01/28 全球购物
Fox Racing英国官网:越野摩托车和山地自行车服装
2020/02/26 全球购物
UNIX文件类型
2013/08/29 面试题
优秀应届生求职信
2014/06/16 职场文书
城市轨道交通工程职业生涯规划书范文
2014/09/16 职场文书
Java如何实现树的同构?
2021/06/22 Java/Android