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

联合使用构造函数和原型方式,就可像用其他程序设计语言一样创建对象。这种概念非常简单,即用构造函数定义对象的所有非函数属性,用原型方式定义对象的函数属性(方法)。结果所有函数都只创建一次,而每个对象都具有自己的对象属性实例。再重写前面的例子,代码如下:

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

原文地址:https://www.cnblogs.com/daiweixm/p/1431072.html