<script type="text/javascript">
function Car(sColor, iDoors) {
[color=red]this[/color].color = sColor;
this.doors = iDoors;
this.drivers = new Array("Mike", "Sue");
}
Car.[color=red]prototype[/color].showColor = function () {
alert(this.color);
};
var oCar1 = new Car("red", 4, 23);
var oCar2 = new Car("blue", 3, 25);
oCar1.drivers.push("Matt");
</script>
针对于红色的地方做一下解释,为什么要这么做
在构造函数采用this,就相当于Car当前对象实例,为公有属性,使用更方便;
prototype干啥用的,主要是用来为对象增加方法的,当我们定义了一个对象,其方法不能满足我们的需要,这个时候需要增加方法,怎么办?对,就是利用class.[color=red]prototype[/color].methodName这样的格式
原型是以对象做为原型的,比如说有两个类ClassA,ClassB,如果ClassA要以ClassB作为原理,则写法如:ClassA.prototype=new ClassB();
function Car(sColor, iDoors) {
[color=red]this[/color].color = sColor;
this.doors = iDoors;
this.drivers = new Array("Mike", "Sue");
}
Car.[color=red]prototype[/color].showColor = function () {
alert(this.color);
};
var oCar1 = new Car("red", 4, 23);
var oCar2 = new Car("blue", 3, 25);
oCar1.drivers.push("Matt");
</script>
针对于红色的地方做一下解释,为什么要这么做
在构造函数采用this,就相当于Car当前对象实例,为公有属性,使用更方便;
prototype干啥用的,主要是用来为对象增加方法的,当我们定义了一个对象,其方法不能满足我们的需要,这个时候需要增加方法,怎么办?对,就是利用class.[color=red]prototype[/color].methodName这样的格式
原型是以对象做为原型的,比如说有两个类ClassA,ClassB,如果ClassA要以ClassB作为原理,则写法如:ClassA.prototype=new ClassB();