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动态方法调用与参数修改的问题
Dec 10 Javascript
js仿百度贴吧验证码特效实例代码
Jan 16 Javascript
jQuery基础语法实例入门
Dec 23 Javascript
解决bootstrap中modal遇到Esc键无法关闭页面
Mar 09 Javascript
js点击文本框后才加载验证码实例代码
Oct 20 Javascript
AngularJS基础 ng-keyup 指令简单示例
Aug 02 Javascript
完美的js图片轮换效果
Feb 05 Javascript
JS+canvas动态绘制饼图的方法示例
Sep 12 Javascript
BootStrap自定义popover,点击区域隐藏功能的实现
Jan 23 Javascript
vue页面跳转后返回原页面初始位置方法
Feb 11 Javascript
微信小程序实现横向滚动导航栏效果
Dec 12 Javascript
vue页面跳转实现页面缓存操作
Jul 22 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
WinXP + Apache +PHP5 + MySQL + phpMyAdmin安装全功略
2006/07/09 PHP
实用PHP会员权限控制实现原理分析
2011/05/29 PHP
Yii框架视图、视图布局、视图数据块操作示例
2019/10/14 PHP
JS对URL字符串进行编码/解码分析
2008/10/25 Javascript
Javascript 原型和继承(Prototypes and Inheritance)
2009/04/01 Javascript
jQuery学习笔记 操作jQuery对象 CSS处理
2012/09/19 Javascript
JS等比例缩小图片尺寸的实例
2013/02/27 Javascript
jquery 实现返回顶部功能
2014/11/17 Javascript
浅谈javascript属性onresize
2015/04/20 Javascript
基于JS如何实现类似QQ好友头像hover时显示资料卡的效果(推荐)
2016/06/09 Javascript
AngularJS实现网站换肤实例
2021/02/19 Javascript
Vue中的v-cloak使用解读
2017/03/27 Javascript
微信小程序中做用户登录与登录态维护的实现详解
2017/05/17 Javascript
微信小程序实现多选功能
2018/11/04 Javascript
Node.js console控制台简单用法分析
2019/01/04 Javascript
配置eslint规范项目代码风格
2019/03/11 Javascript
layui table数据修改的回显方法
2019/09/04 Javascript
微信小程序全选多选效果实现代码解析
2020/01/21 Javascript
原生JS封装拖动验证滑块的实现代码示例
2020/06/01 Javascript
Vue使用CDN引用项目组件,减少项目体积的步骤
2020/10/30 Javascript
解决Vue大括号字符换行踩的坑
2020/11/09 Javascript
常见python正则用法的简单实例
2016/06/21 Python
Python3 max()函数基础用法
2019/02/19 Python
python适合人工智能的理由和优势
2019/06/28 Python
python如果快速判断数字奇数偶数
2019/11/13 Python
关于Django Models CharField 参数说明
2020/03/31 Python
音频处理 windows10下python三方库librosa安装教程
2020/06/20 Python
俄罗斯第一家篮球店:StreetBall
2020/07/30 全球购物
心碎乌托邦的创业计划书范文
2013/12/26 职场文书
电子专业求职信
2014/06/19 职场文书
中国梦读书活动总结
2014/07/10 职场文书
2014年内部审计工作总结
2014/12/09 职场文书
学校国庆节活动总结
2015/03/23 职场文书
写给汽车4S店的创业计划书,拿来即用!
2019/08/09 职场文书
试了下Golang实现try catch的方法
2021/07/01 Golang
Python数据可视化之Seaborn的安装及使用
2022/04/19 Python