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

怎么在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://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| 亚洲av一区二区三区| 欧美亚洲另类在线日韩国产| 午夜性生活免费在线观看| 欧美女人又粗又长亚洲| 日韩人妻av免费电影| 欧美一区日韩二区国产三区| 国产91在线一区精品| 国产精品三级一区二区三区| 国产麻豆成人传媒免费观看| 91欧美精品在线视频| 亚洲精品国产av一区| 人妻有码一区二区三区| 五月婷婷av综合激情| 久久伊人亚洲中文字幕| 亚洲精品一区二区午夜| 岛国大片一区二区三区| 韩国av高清在线观看| 日本一区二区手机在线| 亚洲黄色av一区二区三区| 91大神午夜在线观看| 无遮挡动漫网站免费观看| 亚洲男女内射在线视频| 亚洲最大黄色免费在线观看| 久久久久久极精品久久久| 国产无遮挡又黄又爽网站| 亚洲欧洲一区二区中文字幕| 日本中文一区在线观看| av天堂最新资源在线| 亚洲国产免费一区二区| 欧洲一区二区三区黄色|