网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网页制作 > Javascript
网页制作:Dreamweaver教程,FrontPages教程,Javascript教程,HTML教程,CSS教程,心得技巧,DHTML教程,网页特效,Discuz!论坛
本月文章推荐
.JavaScript自定义模式对话框.
.强制弹出广告页面+自动最小化代码.
.125个常用javascript语句.
.js关于document和window对象.
.JavaScript英文对应的颜色.
.用JavaScript实现字符串切分功能.
.一段貌似简单的JavaScript.
.如何实现iframe(嵌入式帧)的自适.
.一个非常实用的Javascript类库.
.javascript实现划词标记划词搜索.
.Javascript文档生成.
.Javascript中的||运算符.
.javascript+xml实现二级下拉菜单.
.小谈JavaScript和JScript.
.Javascript中判断润年简单的代码.
.JavaScript仿Windows关机效果.
.JavaScript and CSS.
.Javascript实例教程(15) 日期函数.
.Javascript在IE和FireFox中的不同.
.JavaScript打印页面去除页眉页脚.

javascript定义类的几种方法

发表日期:2008-11-5


/*
    工厂方式--- 创建并返回特定类型的对象的 工厂函数 ( 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 )来判断是否已给原型赋予了任何方法。   
利用原型prototype。 function Bar(text, url) {
this.text = text;

this.url = url;

}

Bar.prototype = {

render : function() {

document.write('<a href="' + this.url + '">' + this.text + '</a>');

}

}

上一篇:JavaScript函数库的未来 人气:526
下一篇:用JavaScript + jMail发邮件 人气:531
浏览全部javascript的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐