javascript 03对象

1、对象类型

1)本地对象(object、function、string、boolean、number、array、date)

2)内置对象(global、math)

3)宿主对象

2、定义对象

1)工厂方式(创建对象,需返回值)

eg1function createCar(){//封装创建的car对象

  var oCar=new Object;

  oCar.color="red";

  oCar.doors=4;

  oCar.mpg=23;

  oCar.showColor=function(){

  alert(this.color);

  }

  return oCar;

}

var oCar1=createCar();

var oCar2=createCar();

eg2 function createCar(sColor,iDoors,iMpg){

  var oTempCar=new Object;

  oTempCar.color=sColor;

  oTempCar.doors=iDoors;

  oTempCar.mpg=iMpg;

  oTempCar.showColor=function(){

    alert(this.color);

  }

  return oTempCar;

}

var oCar1=createCar("red",4,23);

var oCar1=createCar("blue",2,25);

oCar1.showColor();

oCar2.showColor();

2)构造函数方式(不需返回值,第一个字母大写,用new及类名创建对象

function Car(sColor,iDoors,iMpg){

  this.color=sColor;

  this.doors=iDoors;

  this.mpg=iMpg;

  this.showColor=function(){

    alert(this.color);

  }

}

var oCar1=new Car("red",4,23);

var oCar2=new Car("blue",5,35);

3)原型方式

function Car(){}

Car.prototype.color="red";

Car.prototype.doors=4;

Car.prototype.mpg=23;

Car.prototype.showColor=function(){

  alert(this.color);

}

var oCar1=new Car();

var oCar2=new Car();

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

 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,23);

var oCar2=new Car("blue",2,25);

oCar1.drivers.push("Matt");

alert(oCar1.drivers);

alert(oCar2.drivers);

5)动态原型

function Car(sColor,iDoors,iMpg){

this.color=sColor;

this.doors=iDoors;

this.mpg=iMpg;

this.drivers=new Array("Mike","Sue");

if(typeof car._initialized=="undefined"){

  Car.prototype.showColor=function(){

    alert(this.color);

  }

  Car._initialized=true;

}

}

6)混合工厂方式

function Car(){

  var oTempCar=new object;

  oTempCar.color="red";

  oTempCar.doors=4;

  oTempCar.mpg=23;

  oTempCar.showColor=function(){

    alert(this.color)

  }

return oTempCar;

}

3、修改对象

 

posted @ 2017-04-17 16:44  yeluoqiu  阅读(89)  评论(0编辑  收藏  举报