localStorage存储对象
localStorage常规情况下只能存储字符串,利用JSON.stringify可以实现对象的存储。
const testObj = {name:'dqq'}
localStorage.setItem('testObjKey',testObj)
localStorage.getItem('testObjKey')
借助JSON.stringify实现:
const obj = {name: 'dqq'}
localStorage.setItem('demoKey', JSON.stringify(obj))
localStorage.getItem('demoKey')
同时利用JSON.parse提取出来。
JSON.parse(localStorage.getItem('demoKey'))
对象深拷贝
由于js中的对象是引用类型,因此直接赋对象的方式实际上新对象指向的是旧对象的引用地址,当新对象中的属性发生变化时,旧对象的相应属性值也会有改动。
const obj1 = {name:'dqq'};
const obj2 = obj1;
obj2.name = 'ddd'
console.log(obj2);
利用JSON.stringify和JSON.parse可以实现对象的深拷贝。
const obj1 = {name:'dqq'}
const obj2 = JSON.parse(JSON.stringify(obj1))
obj2.name = 'ddd'
console.log(obj1.name)
console.log(obj2.name)
此时改动obj2里的name属性,obj1里面的属性不会受影响。
删除对象属性