当前位置: 主页 > 网页制作 > Javascript > 定义JavaScript类或对象

定义JavaScript类或对象

时间:2010-1-12来源:互联网 点击:
但是该函数看起来不像对象的方法。所以就有了构造函数的出现。

  (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"

站长资讯网
.
分页: [1] [2] [3]
TAG: JavaScript 对象
推荐内容最近更新人气排行
关于我们 | 友情链接 | 网址推荐 | 常用资讯 | 网站地图 | RSS | 留言