一、设置缓存
将JSON对象转换成字符串
var lists=[{name:"html",state:false}]
var res=JSON.stringfy(lists)
localStorage.setItem("TODO",res) // 设置缓存
二、获取缓存
将JSON格式的字符串转换成JSON对象
var res=JSON.stringfy(lists)
localStorage.setItem("TODO",res) // 设置缓存
var result = localStorage.getItem("TODO") // 获取缓存 (JSON格式的字符串)
JSON.parse(result)
三、封装成函数
//设置缓存
function setStorage(key,val){
// 判断 val 是否为简单数据类型 若为复杂数据类型则需要将val使用JSON.stringify()转为字符串
if(val instanceof Array || typeof val == "object"){
localStorage.setItem(key,JSON.stringify(val))
}else{
localStorage.setItem(key,val)
}
}
//获取缓存
function getStorage(key) {
let val = localStorage.getItem(key)
// 获取的缓存(val)为字符串
// 如果为数组或者对象,则包含[],{}
// 正则表达式:
var reg = /^[{\[].+[{\]]$/
if(reg.test(val)){
return JSON.parse(val)
}else{
return val
}
}
<script>
var lists = [{name:"html",state:false}]
setStorage("todo",lists)
var res = getStorage("todo");
console.log(res)
</script>