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 相关文章推荐
优化innerHTML操作(提高代码执行效率)
Aug 20 Javascript
一样的table?不一样的table(可编辑状态table)
Sep 19 Javascript
Javascript节点关系实例分析
May 15 Javascript
使用impress.js制作幻灯片
Sep 09 Javascript
详解AngularJS 模态对话框
Apr 07 Javascript
JS小数运算出现多为小数问题的解决方法
Jun 02 Javascript
Node.js的文件权限及读写flag详解
Oct 11 Javascript
原生js实现放大镜
Feb 20 Javascript
通过npm引用的vue组件使用详解
Mar 02 Javascript
jquery实现tab键进行选择后enter键触发click行为
Mar 29 jQuery
用vuex写了一个购物车H5页面的示例代码
Dec 04 Javascript
js实现百度登录窗口拖拽效果
Mar 19 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 数组实例说明
2008/08/18 PHP
PHP中的session永不过期的解决思路及实现方法分享
2011/04/20 PHP
js实现日历可获得指定日期周数及星期几示例分享(js获取星期几)
2014/03/14 Javascript
浅谈JavaScript中的字符编码转换问题
2015/07/07 Javascript
javascript每日必学之继承
2016/02/23 Javascript
以WordPress为例讲解jQuery美化页面Title的方法
2016/05/23 Javascript
微信小程序 template模板详解及实例代码
2017/03/09 Javascript
Angular2自定义分页组件
2017/04/19 Javascript
bmob js-sdk 在vue中的使用教程
2018/01/21 Javascript
浅谈用Webpack路径压缩图片上传尺寸获取的问题
2018/02/22 Javascript
VUE 全局变量的几种实现方式
2018/08/22 Javascript
基于vue-cli 路由 实现类似tab切换效果(vue 2.0)
2019/05/08 Javascript
利用JS代码自动删除稿件的普通弹幕功能
2019/09/20 Javascript
vue中使用rem布局代码详解
2019/10/30 Javascript
[00:56]跨越时空加入战场 全新祈求者身心“失落奇艺侍祭”展示
2019/07/20 DOTA
[01:18:35]DOTA2-DPC中国联赛 正赛 Elephant vs LBZS BO3 第一场 1月29日
2021/03/11 DOTA
python 中文乱码问题深入分析
2011/03/13 Python
Python自定义主从分布式架构实例分析
2016/09/19 Python
分享一个可以生成各种进制格式IP的小工具实例代码
2017/07/28 Python
python paramiko模块学习分享
2017/08/23 Python
python中将字典形式的数据循环插入Excel
2018/01/16 Python
Flask框架模板继承实现方法分析
2019/07/31 Python
python数据处理之如何选取csv文件中某几行的数据
2019/09/02 Python
Python 忽略文件名编码的方法
2020/08/01 Python
10个python爬虫入门基础代码实例 + 1个简单的python爬虫完整实例
2020/12/16 Python
css3的图形3d翻转效果应用示例
2014/04/08 HTML / CSS
尤妮佳moony海外旗舰店:日本殿堂级纸尿裤品牌
2018/02/23 全球购物
澳洲网红粉泥面膜:Sand & Sky
2019/08/13 全球购物
教育技术职业规划范文
2014/03/04 职场文书
期末学生评语大全
2014/04/24 职场文书
租房安全协议书
2014/08/20 职场文书
正风肃纪剖析材料范文
2014/10/10 职场文书
关于长城的导游词
2015/01/30 职场文书
公司联欢会主持词
2015/07/04 职场文书
毕业季聚会祝酒词!
2019/07/04 职场文书
CSS使用Flex和Grid布局实现3D骰子
2022/08/05 HTML / CSS