sessionStorage和localStorage如何存儲(chǔ)對(duì)象呢?
首先想到的是key - value存值就好了。
所以呢?
先創(chuàng)建一個(gè)obj對(duì)象吧

錯(cuò)誤示例,直接將value值填入object對(duì)象,這樣的話我們看到sessionStorage中存的是"[object Object]"

到這里我們就知道,value不能是object對(duì)象,所以我們要用到JSON中的兩個(gè)函數(shù)(字符串和json互轉(zhuǎn))
JSON.stringify(obj)
JSON.parse(objStr)

雖然不能存對(duì)象,但是我們可以使用曲線救國的路線,利用字符串和json對(duì)象互轉(zhuǎn)的方法來實(shí)現(xiàn)向Storage中存對(duì)象。

存入sessionStorage

從sessionStorage取出
網(wǎng)上寫的方法如下:
function sessionStoragePut(key,value){
//將對(duì)象轉(zhuǎn)化成json字符串,存入sessionStorage
sessionStorage.setItem(key, JSON.stringify(value));
}
function sessionStorageGet(key,isRemove){
//從sessionStorage中取出json字符串,然后將json字符串轉(zhuǎn)化成對(duì)象,并返回.
var result=JSON.parse(sessionStorage.getItem(key));
if(isRemove){
sessionStorage.removeItem(key);
}
return result;
}
localStorage存儲(chǔ)對(duì)象和上述方法相同。
function localStoragePut(key,value){
//將對(duì)象轉(zhuǎn)化成json字符串,存入localStorage
localStorage.setItem(key, JSON.stringify(value));
}
function localStorageGet(key,isRemove){
//從localStorage中取出json字符串,然后將json字符串轉(zhuǎn)化成對(duì)象,并返回.
var result=JSON.parse(localStorage.getItem(key));
if(isRemove){
localStorage.removeItem(key);
}
return result;
}