sessionStorage与localStorage存储对象
2020-05-22 本文已影响0人
叫子非鱼啊
sessionStorage和localStorage如何存储对象呢?
首先想到的是key - value存值就好了。
所以呢?
先创建一个obj对象吧
错误示例,直接将value值填入object对象,这样的话我们看到sessionStorage中存的是"[object Object]"
到这里我们就知道,value不能是object对象,所以我们要用到JSON中的两个函数(字符串和json互转)
JSON.stringify(obj)
JSON.parse(objStr)
虽然不能存对象,但是我们可以使用曲线救国的路线,利用字符串和json对象互转的方法来实现向Storage中存对象。
存入sessionStorage 从sessionStorage取出网上写的方法如下:
function sessionStoragePut(key,value){
//将对象转化成json字符串,存入sessionStorage
sessionStorage.setItem(key, JSON.stringify(value));
}
function sessionStorageGet(key,isRemove){
//从sessionStorage中取出json字符串,然后将json字符串转化成对象,并返回.
var result=JSON.parse(sessionStorage.getItem(key));
if(isRemove){
sessionStorage.removeItem(key);
}
return result;
}
localStorage存储对象和上述方法相同。
function localStoragePut(key,value){
//将对象转化成json字符串,存入localStorage
localStorage.setItem(key, JSON.stringify(value));
}
function localStorageGet(key,isRemove){
//从localStorage中取出json字符串,然后将json字符串转化成对象,并返回.
var result=JSON.parse(localStorage.getItem(key));
if(isRemove){
localStorage.removeItem(key);
}
return result;
}