JavaScript中定义类或对象
2009-10-25 00:00:00 来源:WEB开发网但是该函数看起来不像对象的方法。所以就有了构造函数的出现。
(2)构造函数方式
function Car(sColor, iDoors) {
this.color = sColor;
this.doors = iDoors;
this.showColor = function() {
alert(this.color);
};
}
var oCar1 = new Car("red", 4);
var oCar2 = new Car("blue", 3);
通常构造函数的首字母要大写。
就想工厂函数一样,构造函数也会同样重复生成函数,为每个对象创建独立的函数版本。
(3)原型方式
function Car() {
}
Car.prototype.color = "red";
Car.prototype.doors = 4;
Car.prototype.showColor = function() {
alert(this.color);
};
var oCar1 = new Car();
var oCar2 = new Car();
缺点:
原型方式的构造函数没有参数。他不能通过传参来初始化属性的值。还有,当属性指向的是对象时,还会造成对象共享。如下:
function Car() {
}
Car.prototype.color = "red";
Car.prototype.doors = 4;
Car.prototype.drivers = new Array("Mike", "Sue");
Car.prototype.showColor = function() {
alert(this.color);
};
var oCar1 = new Car();
var oCar2 = new Car();
oCar1.drivers.push("Matt");
alert(oCar1.drivers); //output "Mike,Sue,Matt"
alert(oCar2.drivers); //output "Mike,Sue,Matt"
Tags:JavaScript 定义 对象
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接