讨论javascript(一)工厂方式 js面象对象的定义方法

复制代码 代码如下:

  //60年代的汽车工厂

  var ocar=new Object;

  ocar.color="black";

  ocar.doors=2;

  ocar.pinpai="解放";

  ocar.showPinpai=function()

  {

  alert(this.pinpai);//需要一个生产线,生产一个汽车,再生产下个汽车还需要建立新的生产线

  }

  //70年代的汽车工厂

  function createcar()

  {

   var oTempCar=new Object;

  oTempCar.color="black";

   oTempCar.doors=4;

   oTempCar.pinpai="桑塔纳";

   oTempCar.showPinpai=function()

  {

    alert(this.pinpai);//方便生产,一个生产线,可以生产多个汽车

  }

    return oTempCar;

  }

  //80年代生产汽车

  function createcar(sColor,iDoors,sPinpai)

  {

   var oTempCar=new Object;

  oTempCar.color=sColor;

   oTempCar.doors=iDoors;

   oTempCar.pinpai=sPinpai;

   oTempCar.showPinpai=function()

  {

    alert(this.pinpai);//方便生产,一次成型生产

  }

  return oTempCar;

  }

  //90年代生产汽车

  function showPinpai()

  {

   alert(this.color);

  }

  function createcar(sColor,iDoors,sPinpai)

  {

   var oTempCar=new Object;

  oTempCar.color=sColor;

   oTempCar.doors=iDoors;

   oTempCar.pinpai=sPinpai;

   oTempCar.showPinpai=function()

  return oTempCar;

  }

  var oBmw=createcar("black",4,"BMW");

  oBmw.showColor();//一次成型+组装生产