sessionStorage和localStorage
window.sessionStorage(会话存储):暂时储存,浏览器关闭之后会清除
window.localStorage (本地存储):本地储存,浏览器关闭之后依旧不会清除,只能人为删除
平时储存的话建议使用sessionStorage;
今天在做一购物车demo的时候,我需要用到一个sessionStorage去储存一个数组,然后在这个数组里面push一个个对象
下面是js的代码:
let obj = {
name:'xy',
age:'21'
}
sessionStorage.setItem('data-xy',[obj])
console.log(sessionStorage.getItem('data-xy')) // [object Object]
即使我直接添加一个obj进去ta依旧是这样的
let obj = {
name:'xy',
age:'21'
}
sessionStorage.setItem('data-xy',obj)
console.log(sessionStorage.getItem('data-xy')) // [object Object]
而后查了一下相关的文献才知道原来如果想要存储对象的话必须先用JSON.stringify()方法将对象转化成一个对象字符串,然后才能进行存储。
let obj = {
name:'xy',
age:'21'
}
let objStr = JSON.stringify(obj)
sessionStorage.setItem('data-xy',[objStr])
console.log(sessionStorage.getItem('data-xy')) // {"name":"xy","age":"21"}
最后在要使用这个对象的时候先将对象字符串取出来,然后在用JSON.parse()这个方法将字符串转化成json对象就可以用啦:
let obj1 = JSON.parse(sessionStorage.getItem('data-xy'))
打印就是: