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 相关文章推荐
jquery下jstree简单应用 - v1.0
Apr 14 Javascript
jQuery 源码分析笔记(6) jQuery.data
Jun 08 Javascript
Jquery写一个鼠标拖动效果实现原理与代码
Dec 24 Javascript
Ajax异步提交表单数据的说明及方法实例
Jun 22 Javascript
js模拟C#中List的简单实例
Mar 06 Javascript
JavaScript数组常用方法
Mar 02 Javascript
AngularJS常见过滤器用法实例总结
Jul 06 Javascript
three.js中文文档学习之如何本地运行详解
Nov 20 Javascript
关于js的三种使用方式(行内js、内部js、外部js)的程序代码
May 05 Javascript
Node如何后台数据库使用增删改查功能
Nov 21 Javascript
通过vue刷新左侧菜单栏操作
Aug 06 Javascript
javascript遍历对象的五种方式实例代码
Oct 24 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 date函数参数详解
2006/11/27 PHP
Laravel 5框架学习之用户认证
2015/04/09 PHP
PHP获取Exif缩略图的方法
2015/07/13 PHP
非集成环境的php运行环境(Apache配置、Mysql)搭建安装图文教程
2016/04/12 PHP
php获取目录中所有文件名及判断文件与目录的简单方法
2017/03/04 PHP
Laravel中validation验证 返回中文提示 全局设置的方法
2019/09/29 PHP
基于jQuery替换table中的内容并显示进度条的代码
2011/08/02 Javascript
node.js正则表达式获取网页中所有链接的代码实例
2014/06/03 Javascript
JavaScript的arguments对象应用示例
2014/09/15 Javascript
了不起的node.js读书笔记之node.js中的特性
2014/12/22 Javascript
Javascript显示和隐藏ul列表的方法
2015/07/15 Javascript
15个值得开发人员关注的jQuery开发技巧和心得总结【经典收藏】
2016/05/25 Javascript
window.open打开窗口被拦截的快速解决方法
2016/08/04 Javascript
纯JS实现可拖拽表单的简单实例
2016/09/02 Javascript
js实现目录链接,内容跟着目录滚动显示的简单实例
2016/10/15 Javascript
微信小程序 swiper组件轮播图详解及实例
2016/11/16 Javascript
详解使用grunt完成requirejs的合并压缩和js文件的版本控制
2017/03/02 Javascript
React组件重构之嵌套+继承及高阶组件详解
2018/07/19 Javascript
vue.js的状态管理vuex中store的使用详解
2019/11/08 Javascript
举例讲解Python的lambda语句声明匿名函数的用法
2016/07/01 Python
深入理解Python对Json的解析
2017/02/14 Python
python通过实例讲解反射机制
2019/10/17 Python
解决Python命令行下退格,删除,方向键乱码(亲测有效)
2020/01/16 Python
Pycharm 2020.1 版配置优化的详细教程
2020/08/07 Python
Python自定义sorted排序实现方法详解
2020/09/18 Python
pip/anaconda修改镜像源,加快python模块安装速度的操作
2021/03/04 Python
前端实现弹幕效果的方法总结(包含css3和canvas的实现方式)
2018/07/12 HTML / CSS
印度领先的在线时尚商店:Koovs
2016/08/28 全球购物
奥地利体育网上商店:Gigasport
2019/10/09 全球购物
非功能性需求都包括哪些方面
2013/10/29 面试题
工程造价专业大学生职业规划范文
2014/03/09 职场文书
感恩之星事迹材料
2014/05/03 职场文书
六一儿童节开幕词
2015/01/29 职场文书
英文慰问信范文
2015/03/24 职场文书
医院合作意向书范本
2015/05/08 职场文书
学困生转化工作总结
2015/08/13 职场文书