美文网首页
localStorage用法小总结

localStorage用法小总结

作者: dingFY | 来源:发表于2020-07-28 10:17 被阅读0次

一、什么是localStorage

在HTML5中,新加入了一个localStorage特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题(cookie中每条cookie的存储空间为4k)

二、localStorage的优势和局限

【1】优势

|

  • localStorage拓展了cookie的4K限制
  • localStorage会可以将第一次请求的数据直接存储到本地,这个相当于一个5M大小的针对于前端页面的数据库,相比于cookie可以节约带宽,但是这个却是只有在高版本的浏览器中才支持的

|

【2】局限

|

  • 浏览器的大小不统一,并且在IE8以上的IE版本才支持localStorage这个属性
  • 目前所有的浏览器中都会把localStorage的值类型限定为string类型,这个在对我们日常比较常见的JSON对象类型需要一些转换
  • localStorage在浏览器的隐私模式下面是不可读取的
  • localStorage本质上是对字符串的读取,如果存储内容多的话会消耗内存空间,会导致页面变卡
  • localStorage不能被爬虫抓取到
  • localStorage与sessionStorage的唯一一点区别就是localStorage属于永久性存储,而sessionStorage属于当会话结束的时候,sessionStorage中的键值对会被清空

|

三、localStorage常用方法

我们首先在Chrome浏览器的控制台输入localStorage来查看其自带的方法。摘录了一些常用的API如下表所示

| 名称 | 作用 |
| setItem | 存储数据 |
| getItem | 读取数据 |
| clear | 清空localStorage上存储的数据 |
| removeItem | 删除某个具体变量 |
| key | 读取第i个数据的名字或称为键值(从0开始计数) |
| length | 获取localStorage存储变量的个数 |

【1】存储数据setItem

if (!window.localStorage) {
  console.log('浏览器版本太低,不支持localStorage')
} else {
  let storage = window.localStorage
  storage.setItem('a', 1) // 存储名为a值为1的变量
  storage.b = 2           // 存储名为b值为2的变量
  storage['c'] = 3        // 存储名为c值为3的变量
}

【2】读取数据getItem

storage.getItem('a') // 1 读取保存在storage对象里名为a的变量值
storage.b            // 2 读取保存在storage对象里名为b的变量值
storage['c']         // 3 读取保存在storage对象里名为c的变量值
storage.key(0)       // 1 根据key值读取数据,key(0)代表对象的第一条数据
storage.valueOf()    // 读取保存在storage对象上的全部数据

【3】修改数据

if (!window.localStorage) {
  console.log('浏览器版本太低,不支持localStorage')
} else {
  let storage = window.localStorage
  // 写入a字段
  storage.a = 1
  // 修改a字段
  storage.a = '@Demi'
}

【4】删除数据clear()和removeItem()

if (!window.localStorage) {
  console.log('浏览器版本太低,不支持localStorage')
} else {
  let storage = window.localStorage
  storage.clear()         // 删除所有键值对
  storage.removeItem('a') // 删除指定的键值对
}

【5】注意事项

     我们一般会将一个对象存入localstorage中,但是localstorage会自动将对象数据转换成字符串形式,这时候我们可以使用JSON.stringify()这个方法,来将数据转换成JSON字符串存入localstorage存入,当读取的时候再使用JSON.parse()方法读取出来。
if (!window.localStorage) {
  console.log('浏览器版本太低,不支持localStorage')
} else {
  let storage = window.localStorage
  let data = {
     name: 'Demi',
     sex: 'woman',
     hobby: 'program'
  }
  // 将对象转换成JSON格式存入localStorage
  let dataValue = JSON.stringify(data)
  storage.setItem('data', dataValue)

  // 从localstorage中取出数据转换成对象格式
  let json = storage.getItem('data')
  let jsonObj = JSON.parse(json)
}

【6】查看浏览器的localstorage

1. 进入浏览器开发者工具

  2\. 选择Application

  3\. 在窗口左侧选择localStorage

文章每周持续更新,可以微信搜索「 前端大集锦 」第一时间阅读,回复【视频】【书籍】领取200G视频资料和30本PDF书籍资料

相关文章

网友评论

      本文标题:localStorage用法小总结

      本文链接:https://www.haomeiwen.com/subject/rkurnhtx.html