JavaScript中創建字典對象(dictionary)的實例

    時間:2024-07-31 10:08:38 JavaScript 我要投稿
    • 相關推薦

    JavaScript中創建字典對象(dictionary)的實例

      對于JavaScript來說,其自身的Array對象僅僅是個數組,無法提供通過關鍵字來獲取保存的數據,jQuery源碼中提供了一種非常好的方式來解決這個問題,先看一下源碼:

      復制代碼 代碼如下:

      function createCache() {

      var keys = [];

      function cache(key, value) {

      // Use (key + " ") to avoid collision with native prototype

      // properties (see Issue #157)

      if (keys.push(key += " ") > Expr.cacheLength) {

      // Only keep the most recent entries

       cache[keys.shift()];

      }

      return (cache[key] = value);

      }

      return cache;

      }

      上述源碼是創建一個編譯結果的緩存,代碼調用方式如下:

      復制代碼 代碼如下:

      var codecache = createCache();

      源碼中,keys用來保存鍵,而cache對象用來保存鍵值對,并通過全局變量Expr.cacheLength控制鍵的最大數量,若超過該數量,則自動刪除第一個鍵及鍵值對。

      本代碼利用了閉包的結構,使外部代碼無法訪問到keys變量,這樣就能確保keys變量的安全性。當然,由于JavaScript語句的特點,外部代碼還是可以通過修改cache屬性使鍵與鍵值對不匹配。不過,只要不故意惡搞,這本身應該也沒有太大的關系。

      當然,它也不能宣誓一個完善的dictionary對象,因為其未提供主鍵重復的判斷等關鍵功能,有興趣的朋友們可以完善它。

    【JavaScript中創建字典對象(dictionary)的實例】相關文章:

    javascript面向對象中的對象怎么理解09-02

    JavaScript中push(),join() 函數實例詳解09-05

    JavaScript中的三種對象10-24

    JavaScript fontcolor方法入門實例07-07

    Javascript中arguments對象的詳解和使用方法08-20

    javascript克隆對象深度介紹07-25

    javascript閉包的定義及應用實例分析08-25

    PHP對象注入的實例分析08-27

    使用ajax操作JavaScript對象的方法09-28

    關于javascript對象之內置和對象Math的使用方法10-08

    91久久大香伊蕉在人线_国产综合色产在线观看_欧美亚洲人成网站在线观看_亚洲第一无码精品立川理惠

      天啪天天久久久久久久久噜噜 | 免费国产免费色色国产 | 日本久久在精品线影院 | 在线午夜爽爽影院 | 色窝窝在线视频免费观看 | 午夜大片免费观看日本毛 |