一级日韩免费大片,亚洲一区二区三区高清,性欧美乱妇高清come,久久婷婷国产麻豆91天堂,亚洲av无码a片在线观看

JavaScript中創(chuàng )建字典對象(dictionary)的實(shí)例

時(shí)間:2024-07-31 10:08:38 JavaScript 我要投稿
  • 相關(guān)推薦

JavaScript中創(chuàng )建字典對象(dictionary)的實(shí)例

  對于JavaScript來(lái)說(shuō),其自身的Array對象僅僅是個(gè)數組,無(wú)法提供通過(guò)關(guān)鍵字來(lái)獲取保存的數據,jQuery源碼中提供了一種非常好的方式來(lái)解決這個(gè)問(wèn)題,先看一下源碼:

  復制代碼 代碼如下:

  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;

  }

  上述源碼是創(chuàng )建一個(gè)編譯結果的緩存,代碼調用方式如下:

  復制代碼 代碼如下:

  var codecache = createCache();

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

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

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

【JavaScript中創(chuàng )建字典對象(dictionary)的實(shí)例】相關(guān)文章:

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

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

JavaScript中的三種對象10-24

JavaScript fontcolor方法入門(mén)實(shí)例07-07

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

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

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

PHP對象注入的實(shí)例分析08-27

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

關(guān)于javascript對象之內置和對象Math的使用方法10-08

一级日韩免费大片,亚洲一区二区三区高清,性欧美乱妇高清come,久久婷婷国产麻豆91天堂,亚洲av无码a片在线观看