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实现的仿Flash广告图片轮换效果
Apr 24 Javascript
JavaScript为对象原型prototype添加属性的两种方式
Aug 01 Javascript
再谈javascript原型继承
Nov 10 Javascript
DOM基础教程之模型中的模型节点
Jan 19 Javascript
6种javascript显示当前系统时间代码
Dec 01 Javascript
JavaScript 弹出子窗体并返回结果到父窗体的实现代码
May 28 Javascript
浅谈JavaScript 数据属性和访问器属性
Sep 01 Javascript
jQuery获取this当前对象子元素对象的方法
Nov 29 Javascript
jQuery解析json格式数据示例
Sep 01 jQuery
详解React中传入组件的props改变时更新组件的几种实现方法
Sep 13 Javascript
React和Vue中监听变量变化的方法
Nov 14 Javascript
详解关于微信setData回调函数中的坑
Feb 18 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
关于url地址传参数时字符串有回车造成页面脚本赋值失败的解决方法
2013/06/28 PHP
destoon在各个服务器下设置URL Rewrite(伪静态)的方法
2014/06/21 Servers
php实现汉字验证码和算式验证码的方法
2015/03/07 PHP
PHP使用Pear发送邮件(Windows环境)
2016/01/05 PHP
php微信开发之带参数二维码的使用
2016/08/03 PHP
PHP用户注册邮件激活账户的实现代码
2017/05/31 PHP
编辑浪子版表单验证类
2007/05/12 Javascript
javascript 限制输入和粘贴(IE,firefox测试通过)
2008/11/14 Javascript
js png图片(有含有透明)在IE6中为什么不透明了
2010/02/07 Javascript
js中字符替换函数String.replace()使用技巧
2011/08/14 Javascript
jquery定时滑出可最小化的底部提示层特效代码
2013/10/02 Javascript
Jquery 实现table样式的设定
2015/01/28 Javascript
mvvm双向绑定机制的原理和实现代码(推荐)
2016/06/07 Javascript
js H5 canvas投篮小游戏
2016/08/18 Javascript
Vue入门之数据绑定(小结)
2018/01/08 Javascript
超出JavaScript安全整数限制的数字计算BigInt详解
2018/06/24 Javascript
vue实现word,pdf文件的导出功能
2018/07/31 Javascript
vue插槽slot的理解和使用方法
2019/04/03 Javascript
在Python中用split()方法分割字符串的使用介绍
2015/05/20 Python
Python实现自动上京东抢手机
2018/02/06 Python
Python Django 简单分页的实现代码解析
2019/08/21 Python
详解Canvas 跨域脱坑实践
2018/11/07 HTML / CSS
澳大利亚领先的在线药房:Pharmacy Online(有中文站)
2020/02/22 全球购物
临床医学应届生求职信
2013/11/06 职场文书
预备党员党校学习自我评价分享
2013/11/12 职场文书
物业管理毕业生个人的求职信
2013/11/30 职场文书
员工培训邀请函
2014/02/02 职场文书
巾帼志愿者活动方案
2014/08/17 职场文书
信仰心得体会
2014/09/05 职场文书
教导主任个人总结
2015/03/03 职场文书
2015年全国科普日活动总结
2015/03/23 职场文书
职业规划从高考志愿专业选择开始
2019/08/08 职场文书
初中教务主任竞聘演讲稿(范文)
2019/08/20 职场文书
800字作文之大雪
2019/12/04 职场文书
《分一些蚊子进来》读后感3篇
2020/01/09 职场文书
Elasticsearch 索引操作和增删改查
2022/04/19 Python