javascript 构造函数的类如何实现实例代码讲解构造函数方式javascript原型方式创建对象

javascript 的类如何实现实例代码讲解构造函数方式 ,javascript原型方式创建对象,javascript混合的构造函数/原型方式创建对象。javascript创建对象的方法有多少种?

一:javascript构造函数的方法步骤
首先选择类名,也就是构造函数名字。以下例子构造函数里不创建对象,而使用this,使用new 运算符调构造函数的时执行第一行代码前先创建一个对象,这个对象只能用this访问,然后可以直接赋予this属性,默认情况下是构造函数的返回值,没有return。
javascript构造函数例子:

function Car(sColor,iDoors)
{
this.color = sColor;
this.doors = iDoors;
this.showColor = function()
{
alert(this.color);
};
}
var oCar1 = new Car(“red”,4);//output red ,使用new关键字穿件javascript对象
var oCar2 = new Car(“blue”,3);//output blue例子会为每个对象都创建独立的函数版本。再看下面的原型方式
二:javascript原型方式创建对象: 
利用对象的prototype属性,把它当做创建新对象依赖的原型。以下例子用空构造函数设置javascript类名,之后所有的属性以及方法都直接赋予prototype属性。调用new Car()时原型拥有的属性都被马上赋予要创建的对象。
javascript原型方式创建对象例子:
function Car()
{
}
Car.prototype.color = ”red”;
Car.prototype.doors = 4;
Car.prototype.showColor = function()
{
alert(this.color);
};
var oCar1 = new Car();//output red上面的例子在创建多个实例后,对象的属性值没有变。下面是混合构造函数/原型方式
三:javascript混合的构造函数/原型方式创建对象: 
javascript混合的构造函数/原型方式创建对象,像别的程序设计语言杨创建对象。用构造函数来定义对象的一切非函数属性,用原型方式定义对象函数属性。
function Car(sColor,iDoors)
{
this.color = sColor;
this.doors = iDoors;
}
Car.prototype.showColor = function()
{
alert(this.color);
};

var oCar1 = new Car(“red”,4);
var oCar2 = new Car(“blue”,3);

oCar1.showColor();//output red
oCar2.showColor();//output blue
四:javascript动态原型方法创建对象:
javascript动态原型方法创建对象的基本想法与混合构造函数/原型方式一样,唯一区别为赋予对象方法的位置,看下面的javascript动态原型方法创建对象例子:
function Car(sColor,iDoors)
{
this.color = sColor;
this.doors = iDoors;
if(typeof Car.initialized == ”undefined”)//***
{
Car.prototype.showColor = function()
{
alert(this.color); };
Car.initialized = true;//***
}
}
上面的方法使用标志initialized来判断是否已给原型赋予任何方法,该方法只创建并赋值一次。

五:javascript混合工厂方式 创建对象
这种方式的目的是创建假构造函数,只返回一种对象的新实例:
function Car()
{
var tempCar = new Object;
tempCar.color = ”red”;
tempCar.doors = 4;
tempCar.showColor = function()
{
alert(this.color);
};
return tempCar;
}
var oCar1 = new Car();在Car()构造函数内部调用了new运算符,所以将忽略构造函数外的第2个new 运算符。不建议使用这种方式。
使用prototype属性为任何已有的类定义新的方法。 本文链接地址: javascript 构造函数的类如何实现实例代码讲解构造函数方式javascript原型方式创建对象