WEB开发网
开发学院网页设计JavaScript javascript定义类的几种方法 阅读

javascript定义类的几种方法

 2008-11-05 20:03:05 来源:WEB开发网   
核心提示:/* 工厂方式--- 创建并返回特定类型的对象的 工厂函数 ( factory function ) */ function createCar(color,doors,mpg){ var tempCar = new Object; tempCar.color = color; tempCar.do

/*
   工厂方式--- 创建并返回特定类型的对象的 工厂函数 ( 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>');

}

}

Tags:javascript 定义 方法

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接