/*******************JavaScript預設規則***********
1.類名首字元大寫
2.方法名首字元小寫
3.屬性首字元大寫
4.字段全小寫
5.常量全大寫
***********************************************/
//*****************公共方法********************
function showColor(){
alert(this.Color);
}
1、工廠方式代碼示例
function CreateCar(sColor, iDoors, iMpg) {
var oTempCar = new Object();
oTempCar.Color = sColor;
oTempCar.Door = iDoors;
oTempCar.Mpg = iMpg;
oTempCar.ShowColor = showColor;//将此函數定義在外部,保證每個對象調用的都是一個方法
return oTempCar;
}
//var oCar1 = CreateCar("red",4,23); 使用時需要執行個體化一個對象
2、構造函數方式代碼
function Car(sColor, iDoors, iMpg) {
this.Color = sColor;
this.Doors = iDoors;
this.Mpg = iMpg;
this.ShowColor = showColor; //将此函數定義在外部,保證每個對象調用的都是一個方法
}
//var car1=new Car("red",4,23); 使用時需要執行個體化一個對象
3、原型方式代碼
function Car() { }
Car.prototype.Color = "red";
Car.prototype.Door = 4;
Car.prototype.Mpg = 23;
Car.prototype.Drivers = new Array("Mike", "Sue");
Car.prototype.ShowColor = showColor();
//var car1=new Car(); 使用時需要執行個體化一個對象
4、混合的構造函數/原型方式
//使用構造函數定義對象的所有非函數屬性,使用原型方法定義函數屬性(這裡指方法)
function Car(sColor, iDoors, iMpg) { //構造函數
this.Color = sColor;
this.Doors = iDoors;
this.Mpg = iMpg;
}
Car.prototype.ShowColor = showColor; //原型方法
//var car1=new Car("red",4,23); 使用時需要執行個體化一個對象
5、動态原型方式
function Car(sColor, iDoors, iMpg) {
this.Color = sColor;
this.Doors = iDoors;
this.Mpg = iMpg;
if (typeof Car._initialized == "undefined") {
Car.prototype.ShowColor = showColor;
Car._initialized = true;
}
}
//var car1=new Car("red",4,23); 使用時需要執行個體化一個對象
6、混合工廠方式
function CreateCar(sColor, iDoors, iMpg) {
var oTempCar = new Object();
oTempCar.Color = sColor;
oTempCar.Door = iDoors;
oTempCar.Mpg = iMpg;
oTempCar.ShowColor = showColor; //将此函數定義在外部,保證每個對象調用的都是一個方法
return oTempCar;
}
//var oCar1=new CreateCar("red",4,23); 使用時需要執行個體化一個對象