JavaScript(一) 对象基础

1、定义类或对象
  1.1 混合的构造函数/原型方法
    用构造函数定义对象的所有非函数属性,类似于Java的构造方法。用原型方法定义对象的函数属性(方法)。这种方法是使用比较广泛的定义类或对象的方法。

 1 //混合的构造函数/原型方式
 2 //用构造函数定义对象的的所有非函数属性
 3 function Car(sColor, iDoors, iMpg){
 4     this.color = sColor;
 5     this.doors = iDoors;
 6     this.mpg = iMpg;
 7     this.drivers = new Array("Mike", "Sue");
 8 }
 9 
10 //用原型方法定义对象的函数属性(方法),只创建showColor()函数的一个实例,不会浪费内存空间
11 Car.prototype.showColor = function(){
12     alert(this.color);
13 }
14 
15 var oCar1 = new Car("red", 4, 23);
16 var oCar2 = new Car("blue", 3, 25);
17 
18 //oCar1,oCar2属性的值互不影响,又能共用showColor()函数的一个实例
19 oCar1.drivers.push("Matt");
20 document.write(oCar1.color + "," + oCar1.doors + "," + 
21     oCar1.mpg + "," + oCar1.drivers + "</br>");        //输出:red,4,23,Mike,Sue,Matt
22 document.write(oCar2.color + "," + oCar2.doors + "," + 
23     oCar2.mpg + "," + oCar2.drivers + "</br>");        //输出:blue,3,25,Mike,Sue

//混合的构造函数/原型方式
//用构造函数定义对象的的所有非函数属性
function Car(sColor, iDoors, iMpg){
this.color = sColor;
this.doors = iDoors;
this.mpg = iMpg;
this.drivers = new Array("Mike", "Sue");
}

//用原型方法定义对象的函数属性(方法),只创建showColor()函数的一个实例,不会浪费内存空间
Car.prototype.showColor = function(){
alert(this.color);
}

var oCar1 = new Car("red", 4, 23);
var oCar2 = new Car("blue", 3, 25);

//oCar1,oCar2属性的值互不影响,又能共用showColor()函数的一个实例
oCar1.drivers.push("Matt");
document.write(oCar1.color + "," + oCar1.doors + "," +
oCar1.mpg + "," + oCar1.drivers + "</br>"); //输出:red,4,23,Mike,Sue,Matt
document.write(oCar2.color + "," + oCar2.doors + "," +
oCar2.mpg + "," + oCar2.drivers + "</br>"); //输出:blue,3,25,Mike,Sue

猜你喜欢

转载自www.cnblogs.com/gzyzhui/p/8876563.html