本地存储的特点
- 在其他的页面也能获取到
- 一直存储在浏览器里,除非手动删除,否则浏览器关闭也会一直存在。
- 存储的是字符串,所以在存储时需要用JSON.stringify(),转化成字符串进行存储;
- 取值的时候取出的也是个字符串,使用JSON.parse()进行转换为js格式的数据
通俗点说,就是利用JSON.stringify 将js类型的数据转换为字符串类型,使用JSON.parse是将字符串类型再转回去原来的js数据类型。
查看
步骤:
页面检查–>Application–>Storage–>Local Storage–>file://
(可参考后面图片)
存储: localStorage.setItem(‘key’,value)
localStorage.setItem(‘key’,JSON.stringify(value))
本地存储时,需要用JSON.stringify()来进行转换为字符串,才能正常的获取数值
注意:在创建本地存储内容时,相同的key键名,存储多次有覆盖性,也就是只执行最后一次创建的存储内容。
// 本地存储,需要用JSON.stringify(),将内容转换
localStorage.setItem('list',{name:'Tom'}) //[object Object]不能正确显示数据
localStorage.setItem('list',JSON.stringify({name:'Tom'}))
var a2 = localStorage.getItem('list') //相同的名字,有覆盖性
console.log(a2, typeof a2);//{"name":"Tom"} string 可以正确获取到值,值的类型为字符串
取值: localStorage.getItem(‘key’)
在本地数据中取值,原本存进去的是字符串,如果想要转换为js类型的数据 ,需要用JSON.parse()
var a3 = JSON.parse(localStorage.getItem('list'))
console.log(a3); //输出:{name: 'Tom'}
删除: localStorage.removeItem(‘key’)
删除有两种方式,一种是在当前页面上删除,一种是在代码内使用ocalStorage.removeItem(‘key’)进行删除。前者是在当前页面删除了,如果页面刷新,代码里如果有创建仍然会再次存储进去;而后者则是彻底的删除。