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表单验证代码
Aug 02 Javascript
javascript 系统文件夹文件操作及参数介绍
Jan 08 Javascript
jQuery之Deferred对象详解
Sep 04 Javascript
详解JavaScript时间格式化
Dec 23 Javascript
基于JavaScript的操作系统你听说过吗?
Jan 28 Javascript
jQuery设置Cookie及删除Cookie实例分析
Apr 15 Javascript
浅谈Angular中ngModel的$render
Oct 24 Javascript
Bootstrap Scrollspy源码学习
Mar 02 Javascript
Vue中用props给data赋初始值遇到的问题解决
Nov 27 Javascript
layui 实现表格某一列显示图标
Sep 19 Javascript
layui form表单提交后实现自动刷新
Oct 25 Javascript
vue npm install 安装某个指定的版本操作
Aug 11 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
理解PHP5中static和const关键字的区别
2007/03/19 PHP
2014过年倒计时示例
2014/01/31 PHP
PHP采用超长(超大)数字运算防止数字以科学计数法显示的方法
2016/04/01 PHP
浅析jQuery对select操作小结(遍历option,操作option)
2013/07/04 Javascript
jquery如何判断某元素是否具备指定的样式
2013/11/05 Javascript
JS对象转换为Jquery对象实现代码
2013/12/29 Javascript
node.js中使用q.js实现api的promise化
2014/09/17 Javascript
封装好的javascript前端分页插件pagination
2016/01/04 Javascript
JS加载器如何动态加载外部js文件
2016/05/26 Javascript
javascript操作cookie
2017/01/17 Javascript
js css3实现图片拖拽效果
2017/03/04 Javascript
bootstrap是什么_动力节点Java学院整理
2017/07/14 Javascript
微信小程序 input表单与redio及下拉列表的使用实例
2017/09/20 Javascript
详解Nodejs 通过 fs.createWriteStream 保存文件
2017/10/10 NodeJs
JS实现的自定义map方法示例
2019/05/17 Javascript
vue路由守卫+登录态管理实例分析
2019/05/21 Javascript
js实现随机8位验证码
2020/07/24 Javascript
vue-router二级导航切换路由及高亮显示的实现方法
2019/07/10 Javascript
解决Layui数据表格的宽高问题
2019/09/28 Javascript
vue 路由子组件created和mounted不起作用的解决方法
2019/11/05 Javascript
mpvue微信小程序的接口请求fly全局拦截代码实例
2019/11/13 Javascript
webpack的 rquire.context用法实现工程自动化的方法
2020/02/07 Javascript
vue 使用插槽分发内容操作示例【单个插槽、具名插槽、作用域插槽】
2020/03/06 Javascript
[01:22:10]Ti4 循环赛第二日 DK vs Empire
2014/07/11 DOTA
[01:19:54]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#1Alliance VS EHOME
2016/03/03 DOTA
Python入门学习之字符串与比较运算符
2015/10/12 Python
浅谈function(函数)中的动态参数
2017/04/30 Python
python下10个简单实例代码
2017/11/15 Python
分数霸榜! python助你微信跳一跳拿高分
2018/01/08 Python
Python使用min、max函数查找二维数据矩阵中最小、最大值的方法
2018/05/15 Python
python将字符串转换成json的方法小结
2019/07/09 Python
Python 实现集合Set的示例
2020/12/21 Python
日本卡普空电视游戏软件公司官方购物网站:e-CAPCOM
2018/07/17 全球购物
歌颂祖国演讲稿
2014/05/04 职场文书
收入证明范本
2015/06/12 职场文书
提高系统的吞吐量解决数据库重复写入问题
2022/04/23 MySQL