使用sessionStorage、localStorage存儲數組與對象

有時候,咱們須要將數據存儲到sessionStorage和localStorage中,這樣作的好處有: 數組

1 緩存數據 緩存

2 減小對內存的佔用 session

可是,storage只能存儲字符串的數據,對於JS中經常使用的數組或對象卻不能直接存儲。 spa


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

var arr = [1,2,3]; 
sessionStorage.obj = arr; 
localStorage.obj = arr;



上面的寫法都是不能成功的!但咱們能夠經過JSON對象提供的parse和stringify將其餘數據類型轉化成字符串,再存儲到storage中就能夠了。請看下面的代碼。 code

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

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




localStorage也同樣,只是和sessionStorage的存儲時間不同。

須要注意的是,JS中的數組本質上也是對象類型,因此上面的代碼對數組也是適用的。 對象

相關文章
相關標籤/搜索