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 ((key += " ") > eLength) {
// Only keep the most recent entries
cache[t()];
}
return (cache[key] = value);
}
return cache;
}
上述源碼是創建一個編譯結果的緩存,代碼調用方式如下:
複製代碼 代碼如下:
var codecache = createCache();
源碼中,keys用來保存鍵,而cache對象用來保存鍵值對,並通過全局變量eLength控制鍵的最大數量,若超過該數量,則自動刪除第一個鍵及鍵值對。
本代碼利用了閉包的`結構,使外部代碼無法訪問到keys變量,這樣就能確保keys變量的安全性。當然,由於JavaScript語句的特點,外部代碼還是可以通過修改cache屬性使鍵與鍵值對不匹配。不過,只要不故意惡搞,這本身應該也沒有太大的關係。
當然,它也不能宣誓一個完善的dictionary對象,因爲其未提供主鍵重複的判斷等關鍵功能,有興趣的朋友們可以完善它。
相關文章
-
Javascript中設立對象的ReadOnly屬性
在JS中ReadOnly屬性比較奇怪,直接創建一個對象,給該對象賦值readonly屬性不能夠向HTML中一樣使用下面的方式:複製代碼 代碼如下:var x=teElement("input");="text";e="ttttt";="xy";only="readonly";這樣創建的'對象並 -
如何在Javascript中爲String對象添加trim,ltrim,rtrim方法
如何在Javascript中爲String對象添加trim,ltrim,rtrim方法呢?下面是小編給大家提供的實現代碼,大家可以參考閱讀,更多詳情請關注應屆畢業生考試網。利用Javascript中每個對象(Object)的prototype屬性我們可以爲Javascrip -
好奇心與創造能力英語作文 Curiosity and creativity
Curiosity and creativity go hand in hand. Only when a person is curious about something can he control his mind and produce something creative.When creativity comes into full play and produces things -
有關JavaScript中的prototype.bind()方法介紹
以前,你可能會直接設置self=this或者that=this等等,這樣做當然也能起作用,但是使用()會更好,看上去也更專業。下面舉個簡單的例子:複製代碼 代碼如下:var myObj = {specialFunction: function () {},anotherSpecialFunctio -
JavaScript在Android的WebView中parseInt函數轉換不正確
今天被一個問題困擾,有一個頁面在瀏覽器(無論是手機還是PC)上運行良好,而通過WebView就出現了問題,有兩個值得計算始終出錯。於是就通過alert,把這個值顯示出來,發現和瀏覽器上計算的結果差了很多,本來是正數,卻變成了負數。仔 -
javascript中String對象的slice()方法
本文較爲詳細的分析了javascript中String對象的slice()方法。分享給大家供大家參考。具體分析如下:此方法截取字符串中的`一段,並返回由被截取字符組成的新字符串。注:原字符串不會發生改變,返回值是一個新產生的字符串 -
國中英語寫作範文:My Happy Times During Winter Vacation
簡單個性的小飾品哦主要材料:滴膠圖片 鏈子 吊墜所需工具:尖嘴鉗 膠水製作步驟:第1步:這就是所有材料和工具啦第2步:先用膠水把滴膠和貓咪圖片粘好,再粘在底拖上固定。第3步:粘好底拖的樣子哈第4步:給手鍊的邊緣掛上一個勾扣, -
My Happy Times During Winter Vacation國中英語作文
寒假生活-My Happy Times During Winte寒假期間我經常去看望我的.爺爺奶奶。他們都已經70歲了,住在鄉下。我可以在那裏做很多有趣的事情。我習慣一大清早起牀呼吸鄉下的新鮮空氣。下雪後國小作文 ,我喜歡跟同伴們一起滑 -
JavaScript如何實現JSON.stringify
導語:JavaScript如何實現JSON.stringify呢?通過下面教程大家會有所收穫,更多詳情請關注應屆畢業生考試網。JSON.stringify是瀏覽器高版本帶的一個將JS的Objtect對象轉換爲JSON字符串的一個方法,不過再IE6下面,並不存在JSO -
英語閱讀:VIT declines to acquire Ang Mo Kio property
矩形姨媽巾小包DIY裝姨媽巾的小包製作需要準備的材料和工具:麻布、繩子、所需工具:剪刀、針線、縫紉機、鈕釦。裝姨媽巾的小包手工DIY步驟方法:第1步:準備兩快布。第2步:放到一起第3步:縫上一邊第4步:折第5步:第6步:翻過來第7