欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

怎么在JavaScript中使用享元模式

這篇文章給大家介紹怎么在JavaScript中使用享元模式,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

成都創(chuàng)新互聯(lián)是一家專業(yè)提供豐澤企業(yè)網(wǎng)站建設(shè),專注與做網(wǎng)站、成都網(wǎng)站制作、H5場(chǎng)景定制、小程序制作等業(yè)務(wù)。10年已為豐澤眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進(jìn)行中。

第一實(shí)例,沒(méi)有使用享元模式,計(jì)算所花費(fèi)的時(shí)間和空間使用程度。

要求為:有一個(gè)城市要進(jìn)行汽車的登記

(1)汽車類

/**
   * 制造商
   * 型號(hào)
   * 擁有者
   * 車牌號(hào)碼
   * 最近一次登記日期
   */
  var Car = function(make,model,year,owner,tag,renewDate){
    this.make = make;
    this.model = model;
    this.year = year;
    this.owner = owner;
    this.tag = tag;
    this.renewDate = renewDate;
    this.getMake = function(){
      return this.make;
    }
  }

(2)使用裝飾者模式--計(jì)算函數(shù)的耗時(shí)

//裝飾者 .. 計(jì)算函數(shù)的耗時(shí)
  var simpleProfiler = function(componet){
    this.componet = componet;
    this.action = function(methodName){
      var self = this;
      var method = componet[methodName];
      //如果是函數(shù)那就進(jìn)行裝飾
      if(typeof method == "function"){
        var startDate = new Date().getTime();//開(kāi)始時(shí)間
        method.apply(self.componet,arguments);
        var endDate = new Date();//結(jié)束時(shí)間
        alert(endDate - startDate);        
      }
    }
  }

(3)具體的實(shí)例,現(xiàn)有4150000輛車需要登記

var ca = new Array();
  function addCar(){
    this.begin = function(){
      for (var i = 0; i < 4150000; i++) {
        ca.push(new Car("BMW","寶馬","2017-10-18",
          "","GBMW88","2017-10-19"));
      }
    }
  }
  new simpleProfiler(new addCar()).action("begin")

第二個(gè)例子:使用享元模式

(1)汽車類

/**
   * 制造商
   * 型號(hào)
   * 擁有者
   * 車牌號(hào)碼
   * 最近一次登記日期
   */
  var Car = function(make,model,year){
    this.make = make;
    this.model = model;
    this.year = year;
    this.getMake = function(){
      return this.make;
    }
  }

(2)單例模式的簡(jiǎn)單工廠

//單例模式的簡(jiǎn)單工廠
  var myCarInfo = function(){
    this.createCar = function(make,model,year,owner,tag,renewDate){
      var c = carInfoFactory(make,model,year);
      c["owner"] = owner;
      c["tag"] = tag;
      c["renewDate"] = renewDate;
      return c;
    }
  }
  var carInfoFactory = (function(){
    var carInfo = {};
    return function(make,model,year){
      if(carInfo[make+model+year]){
        return carInfo[make+model+year];
      }else{
        var newCar = new Car(make,model,year);
        carInfo[make+model+year] = newCar;
        return newCar;
        a
      }
    }
  })();

(3)現(xiàn)有4150000輛車需要登記

var test = new myCarInfo();
  var startDate = new Date().getTime();
  var ca = new Array();
  for (var i = 0; i < 4150000; i++) {

    ca.push(test.createCar("BMW","寶馬","2017-10-18",
          "","GBMW88","2017-10-19"))
  }
  var endDate = new Date();
  alert(endDate - startDate);

從上述兩個(gè)例子可以知道,第一個(gè)例子沒(méi)有使用享元模式相對(duì)于第二個(gè)使用享元模式耗時(shí)間少,但空間消耗大,第二個(gè)耗時(shí)多,但空間消耗小。

第一種情況圖解:每次都生成相同的實(shí)例

怎么在JavaScript中使用享元模式

第二種情況:內(nèi)在部分(不變)+外部狀態(tài)(變化)圖解

怎么在JavaScript中使用享元模式

關(guān)于怎么在JavaScript中使用享元模式就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

本文題目:怎么在JavaScript中使用享元模式
標(biāo)題URL:http://www.aaarwkj.com/article20/pjchco.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、App設(shè)計(jì)、動(dòng)態(tài)網(wǎng)站、自適應(yīng)網(wǎng)站、電子商務(wù)外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
日本一区二区三区日本| 欧美一区二区三区东京热| 九九在线视频免费观看精彩| 人妻一区二区免费视频| 久久精品资源综合网| 国产精品九九久久精品女同| 欧美国产日韩二区一区在线| 亚洲国产精品成人久久蜜臀| 欧美日韩国产天天干| 国产精品中文字幕欧美日韩| 高潮国产精品一区二区| 97精品在线视频免费| 高质量的性生活在线观看| 亚洲精品人妻av在线| 日本黄色中文字幕在线观看| 国产传媒在线观看网站| 亚洲免费成人一区二区| 欧美性大片一区二区三区| 黑人巨大精品欧美一区免| 亚洲天堂岛av一区二区| 传媒视频免费在线观看| 91在线直播观看高清| 国产精品九九久久精品女同| 欧美午夜一级特黄大片| 青青草原激情综合网| 国产亚洲香蕉精彩视频| 精华国产一区二区三区| 久久成人午夜免费电影| 97在线亚洲欧美视频| 婷婷五五月深爱开心激情| 亚洲福利区一区二区三区| 亚洲精品一区二区影院| 国产亚洲中文字幕无线乱码| 免费久久人人爽人人爽| 日韩精品女性三级视频| 中文字幕精品久久久人妻| 亚洲一区二区三区有码| 亚洲av日韩av高潮| 亚洲国产成人久久综合区| 日韩中文字幕专区在线| 日韩不卡永久免费视频观看|