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 Change与bind事件代码
Sep 29 Javascript
javascript学习(二)javascript常见问题总结
Jan 02 Javascript
jQuery getJSON()+.ashx 实现分页(改进版)
Mar 28 Javascript
JavaScript中的变量定义与储存介绍
Dec 31 Javascript
PHP结合jQuery实现红蓝投票功能特效
Jul 22 Javascript
js简单实现图片延迟加载的方法
Jul 19 Javascript
利用javascript实现的三种图片放大镜效果实例(附源码)
Jan 23 Javascript
jQuery加密密码到cookie的实现代码
Apr 18 jQuery
JavaScript实现元素滚动条到达一定位置循环追加内容
Dec 28 Javascript
Koa 使用小技巧(小结)
Oct 22 Javascript
vue cli3.0 引入eslint 结合vscode使用
May 27 Javascript
初试vue-cli使用HBuilderx打包app的坑
Jul 17 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生成HTML静态页面实例代码
2008/08/31 PHP
PHP网站安装程序制作的原理、步骤、注意事项和示例代码
2010/08/01 PHP
PHP抓取、分析国内视频网站的视频信息工具类
2014/04/02 PHP
php将csv文件导入到mysql数据库的方法
2014/12/24 PHP
PHP简单实现解析xml为数组的方法
2018/05/02 PHP
PHP PDOStatement::nextRowset讲解
2019/02/01 PHP
jQuery中mouseover事件用法实例
2014/12/26 Javascript
实现placeholder效果的方案汇总
2015/06/11 Javascript
JavaScript中利用各种循环进行遍历的方式总结
2015/11/10 Javascript
Vue中如何实现轮播图的示例代码
2017/07/27 Javascript
用js实现每隔一秒刷新时间的实例(含年月日时分秒)
2017/10/25 Javascript
JS学习笔记之闭包小案例分析
2019/05/29 Javascript
javascript全局自定义鼠标右键菜单
2020/12/08 Javascript
编写同时兼容Python2.x与Python3.x版本的代码的几个示例
2015/03/30 Python
Python多线程编程简单介绍
2015/04/13 Python
Python+Selenium自动化实现分页(pagination)处理
2017/03/31 Python
Python遍历pandas数据方法总结
2018/02/09 Python
使用Python进行目录的对比方法
2018/11/01 Python
pytorch对可变长度序列的处理方法详解
2018/12/08 Python
django框架单表操作之增删改实例分析
2019/12/16 Python
Django 返回json数据的实现示例
2020/03/05 Python
python学生管理系统的实现
2020/04/05 Python
HTML5 Video标签的属性、方法和事件汇总介绍
2015/04/24 HTML / CSS
华为旗下电子商务平台:华为商城
2016/08/06 全球购物
伦敦高达60%折扣的钻石珠宝商:Purely Diamonds
2018/06/24 全球购物
即时搜索数百万张门票:SeatsForEveryone.com
2018/08/26 全球购物
物流管理专业应届生求职信
2013/11/21 职场文书
酒店总经理欢迎词
2014/01/08 职场文书
小学生暑假感言
2014/02/06 职场文书
学历公证书范本
2014/04/09 职场文书
网上祭先烈心得体会
2014/09/01 职场文书
党性心得体会
2014/09/03 职场文书
技术支持岗位职责
2015/02/13 职场文书
我是特种兵观后感
2015/06/11 职场文书
2016小学优秀教师先进事迹材料
2016/02/26 职场文书
MySQL的安装与配置详细教程
2021/06/26 MySQL