特点:只能存简单的值类型

一、设置缓存

将JSON对象转换成字符串

  1. var lists=[{name:"html",state:false}]
  2. var res=JSON.stringfy(lists)
  3. localStorage.setItem("TODO",res) // 设置缓存

二、获取缓存

将JSON格式的字符串转换成JSON对象

  1. var res=JSON.stringfy(lists)
  2. localStorage.setItem("TODO",res) // 设置缓存
  3. var result = localStorage.getItem("TODO") // 获取缓存 (JSON格式的字符串)
  4. JSON.parseresult

三、封装成函数

  1. //设置缓存
  2. function setStorage(key,val){
  3. // 判断 val 是否为简单数据类型 若为复杂数据类型则需要将val使用JSON.stringify()转为字符串
  4. if(val instanceof Array || typeof val == "object"){
  5. localStorage.setItem(key,JSON.stringify(val))
  6. }else{
  7. localStorage.setItem(key,val)
  8. }
  9. }
  10. //获取缓存
  11. function getStorage(key) {
  12. let val = localStorage.getItem(key)
  13. // 获取的缓存(val)为字符串
  14. // 如果为数组或者对象,则包含[],{}
  15. // 正则表达式:
  16. var reg = /^[{\[].+[{\]]$/
  17. if(reg.test(val)){
  18. return JSON.parse(val)
  19. }else{
  20. return val
  21. }
  22. }
  1. <script>
  2. var lists = [{name:"html",state:false}]
  3. setStorage("todo",lists)
  4. var res = getStorage("todo");
  5. console.log(res)
  6. </script>