WEB开发网
开发学院网页设计JavaScript JavaScript中定义类或对象 阅读

JavaScript中定义类或对象

 2009-10-25 00:00:00 来源:WEB开发网   
核心提示: (4)混合的构造函数/原型方式functionCar(sColor,iDoors){this.color=sColor;this.doors=iDoors;this.drivers=newArray("Mike","Sue");}Car.prototype

(4)混合的构造函数/原型方式

    function Car(sColor, iDoors) {
        this.color = sColor;
        this.doors = iDoors;
        this.drivers = new Array("Mike", "Sue");
    }
    Car.prototype.showColor = function() {
        alert(this.color);
    };
    var oCar1 = new Car("red", 4);
    var oCar2 = new Car("blue", 3);
    oCar1.drivers.push("Matt");
    
    alert(oCar1.drivers);   //output "Mike,Sue,Matt"
    alert(oCar2.drivers);   //output "Mike,Sue

现在就响创建一般对象一样,所有的非函数属性都在构造函数中创建,而且只创建一个showColor()函数。此外,给oCar1的drivers数组添加“Matt”值,不会影响oCar2的数组。

因此这种方式是ECMAScript采用的主要方式。它具有其他方式的特性,却没有它们的副作用。

(5)动态原型方式

    function Car(sColor, iDoors) {
        this.color = sColor;
        this.doors = iDoors;
        this.drivers = new Array("Mike", "Sue");
        if (typeof Car._initialized == "undefined") {
            Car.prototype.showColor = function() {
                alert(this.color);
            };
            Car._initialized = true;
        };
    }

目前使用最广泛的是混合的构造函数/原型方式。此外,动态原型方式也很流行。

上一页  1 2 3 

Tags:JavaScript 定义 对象

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