亚欧洲精品在线观看,窝窝影院午夜看片,久久国产成人午夜av影院宅,午夜91,免费国产人成网站,ts在线视频,欧美激情在线一区

JavaScript

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

時(shí)間:2024-09-04 21:39:02 JavaScript 我要投稿
  • 相關(guān)推薦

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

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

  復(fù)制代碼 代碼如下:

  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è)編譯結(jié)果的緩存,代碼調(diào)用方式如下:

  復(fù)制代碼 代碼如下:

  var codecache = createCache();

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

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

  當(dāng)然,它也不能宣誓一個(gè)完善的dictionary對(duì)象,因?yàn)槠湮刺峁┲麈I重復(fù)的判斷等關(guān)鍵功能,有興趣的朋友們可以完善它。

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

excel中驗(yàn)算公式使用實(shí)例介紹12-08

如何調(diào)試javascript腳本呢07-19

javascript跨域訪問的方法07-19

硬盤邏輯故障解決方法實(shí)例07-16

公文寫作四個(gè)技巧及實(shí)例10-14

原生ajax調(diào)用數(shù)據(jù)實(shí)例簡(jiǎn)單講解07-19

2024小升初數(shù)學(xué)濃度問題實(shí)例解答06-07

Word快速提取對(duì)象文件技巧03-16

2024年公共營(yíng)養(yǎng)師報(bào)考對(duì)象及條件09-05

AutoCAD無法創(chuàng)建面域怎么辦02-13