• <sub id="h4knl"><ol id="h4knl"></ol></sub>
    <sup id="h4knl"></sup>
      <sub id="h4knl"></sub>

      <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
      1. <strong id="h4knl"></strong>

      2. 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對象,因為其未提供主鍵重復的判斷等關鍵功能,有興趣的朋友們可以完善它。

        《&.doc》
        将本文的Word文档下载到电脑,方便收藏和打印
        推荐度:
        点击下载文档

        【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

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码
      3. <sub id="h4knl"><ol id="h4knl"></ol></sub>
        <sup id="h4knl"></sup>
          <sub id="h4knl"></sub>

          <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
          1. <strong id="h4knl"></strong>

          2. 中文字幕v亚洲日本在线 | 在线观看AV网站永久免费观看 | 亚洲香蕉久久精品 | 激情久久一区二区三区 | 我要看亚洲中字幕毛带 | 精品国产丁香五月天在线观看 |

            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對象,因為其未提供主鍵重復的判斷等關鍵功能,有興趣的朋友們可以完善它。