奶头挺立呻吟高潮av全片,成人试看120秒体验区,性欧美极品v,A片高潮抽搐揉捏奶头视频

JavaScript

javaScript工廠方式原始的方式

時間:2024-08-17 06:22:37 JavaScript 我要投稿
  • 相關(guān)推薦

javaScript工廠方式原始的方式

  因為對象的屬性可以在對象創(chuàng)建后動態(tài)定義,這在 JavaScript 最初引入時都會編寫類似下面的代碼

javaScript工廠方式原始的方式

  復(fù)制代碼 代碼如下:

  var oCar = new Object;

  oCar.color = "blue";

  oCar.doors = 4;

  oCar.mpg = 25;

  oCar.showColor = function() {

  alert(this.color);

  };

  在上面的代碼中,創(chuàng)建對象 car。然后給它設(shè)置幾個屬性:它的顏色是藍色,有四個門,每加侖油可以跑 25 英里。最后一個屬性實際上是指向函數(shù)的指針,意味著該屬性是個方法。執(zhí)行這段代碼后,就可以使用對象 car。不過這里有一個問題,就是可能需要創(chuàng)建多個 car 的實例,這顯然不是很好的方式。

  解決方案:工廠方法

  要解決該問題,開發(fā)者創(chuàng)造了能創(chuàng)建并返回特定類型的對象的工廠函數(shù)。例如,函數(shù) createCar() 可用于封裝前面列出的創(chuàng)建 car 對象的操作:

  復(fù)制代碼 代碼如下:

  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 oCar2 = createCar("blue",3,25);

  oCar1.showColor(); //輸出 "red"

  oCar2.showColor(); //輸出 "blue"

  調(diào)用此工廠函數(shù),將創(chuàng)建新對象,并賦予它所有必要的屬性,給 createCar() 函數(shù)加上參數(shù),即可為要創(chuàng)建的 car 對象的 color、doors 和 mpg 屬性賦值。這使兩個對象具有相同的屬性,卻有不同的屬性值。該方法有個不好的地方在于每創(chuàng)建一個car對象(即調(diào)用一次createCar函數(shù))都會重復(fù)的為每個對象創(chuàng)建showColor 方法,而這時沒有必要的而事實上,每個對象都共享同一個函數(shù)。于是我們嘗試在函數(shù)之外去聲明其方法屬性。

  在工廠函數(shù)外定義對象的方法

  有些開發(fā)者在工廠函數(shù)外定義對象的方法,然后通過屬性指向該方法,從而避免這個問題:

  復(fù)制代碼 代碼如下:

  function showColor() {

  alert(this.color);

  }

  function createCar(sColor,iDoors,iMpg) {

  var oTempCar = new Object;

  oTempCar.color = sColor;

  oTempCar.doors = iDoors;

  oTempCar.mpg = iMpg;

  oTempCar.showColor = showColor;

  return oTempCar;

  }

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

  var oCar2 = createCar("blue",3,25);

  oCar1.showColor(); //輸出 "red"

  oCar2.showColor(); //輸出 "blue"

  在上面這段重寫的代碼中,在函數(shù) createCar() 之前定義了函數(shù) showColor()。在 createCar() 內(nèi)部,賦予對象一個指向已經(jīng)存在的 showColor() 函數(shù)的指針。從功能上講,這樣解決了重復(fù)創(chuàng)建函數(shù)對象的問題;但是從語義上講,該函數(shù)不太像是對象的方法。

  

【javaScript工廠方式原始的方式】相關(guān)文章:

競走的正確方式08-16

法國留學就餐方式05-20

新加坡留學住宿方式09-05

幼蛇的飼養(yǎng)方式09-12

行業(yè)網(wǎng)站推廣方式09-06

東方式插花藝術(shù)05-16

績效溝通的方式與技巧11-25

少兒網(wǎng)球訓練計劃方式04-10

高空跳傘的常見方式08-05

企業(yè)合理選擇融資的方式04-21

主站蜘蛛池模板: 武义县| 康保县| 庆安县| 康乐县| 韶关市| 修文县| 磐石市| 林甸县| 拜泉县| 芦溪县| 堆龙德庆县| 黔江区| 布拖县| 徐闻县| 大悟县| 虞城县| 凤山县| 东乡县| 公主岭市| 宁安市| 阿尔山市| 灵丘县| 江都市| 邓州市| 嘉兴市| 寻甸| 务川| 淮滨县| 出国| 洛南县| 湄潭县| 呼玛县| 汶川县| 旌德县| 九龙城区| 罗平县| 九江县| 武山县| 确山县| 桃园市| 云梦县|