sessionStorage、localStorage存儲數組或對象

有時候爲了緩存數據,或減少對內存的佔用我們將數據存儲到sessionStorage和localStorage中。但是,storage只能存儲字符串的數據,對於JS中常用的數組或對象卻不能直接存儲。

var obj = { name:'sam' };
sessionStorage.obj = obj; 
localStorage.obj = obj; 

var arr = [1,2,3]; 
sessionStorage.obj = arr; 
localStorage.obj = arr;
上面的寫法都是不對的!但我們可以通過JSON對象提供的parse和stringify將其他數據類型轉化成字符串,再存儲到storage中就可以了。請看下面的代碼。

var obj = { name:'sam' }; 
var str = JSON.stringify(obj); 

//存入 
sessionStorage.obj = str; 
//讀取 
str = sessionStorage.obj; 
//重新轉換爲對象 
obj = JSON.parse(str);

localStorage也一樣,只是和sessionStorage的存儲時間不一樣。
需要注意的是,JS中的數組本質上也是對象類型,所以上面的代碼對數組也是適用的。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章