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

怎么在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è)
国产亚洲国产av网站在线| 欧美日韩精品综合国产| 欧美一区二区三区情色| 日韩欧美精品在线观看免费| 精品久久av一区二区三区| 国产黄色免费精品网站| 国产精品一区二区三区 在线| 亚洲av男人电影天堂| 亚洲一区二区福利视频| 久久精品性少妇一区二区三区| 2023国产精品一区| 国产美女口爆吞精久久| 免费观看在线黄色大片| 久娜娜精品视频在线观看| 草草在线成年免费视频| 你懂的免费视频中文字幕| 色哟哟网站在线精品视频| 蜜桃臀视频一区二区三区| 国产一区二区三区精品女同| 欧美激情另类综合国内| 成人欧美黑人一区二区| 久久久精品人妻免费网站| 国产毛片精品一区内射| 国产精品高清另类一区二区三区| 欧美黄片精品在线观看| 国产视频在线一区二区| 日韩精品在线免费观看了| 精品人妻少妇一区二区三| 欧美视频在线免费观看黄片| 可以免费看的日韩黄色| 亚洲精品一级黄色片| 黑人巨大精品欧美一区免| 久久久之久亚州精品露出| 日本91免费在线观看| 国产av一区最新精品麻豆| 一区二区三区在线观看美女视频| 久久久精品免费中文视频| 丁香六月综合激情啪啪啪| 91亚洲精品一区二区三区| 国产真实内射在线观看| 日本不卡视频二区三区|