博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JS常用几种存储方式的使用规则与各自特征
阅读量:5964 次
发布时间:2019-06-19

本文共 1956 字,大约阅读时间需要 6 分钟。

日常我们数据存储的方式常见的几种就是sessionStroage, localStroage, cookie,下面先依次总结各自的使用规则,然后再到这三者之间的区别。

sessionStroage

sessionStroage是HTML5新增的一个回话存储对象,用于临时保持同一窗口的数据,窗口关闭数据也将删除。

存储单个变量:

    存储数据: sessionStroage.setItem('name', 'Tiboo')

    读取数据: sessionStroage.getItem('name')

存储JSON对象:

info = {   name: 'Tiboo',   number: '1204914',   guid: '00123'}存储值: 将对象转换为JSON字符串sessionStroage.setItem('info', JSON.stringify(info));读取值: 将JSON字符串转换为对象let infoData = JSON.parse(sessionStroage.getItem('info'))

localStroage

localStroage是HTML5新增特性,本地存储,同时不受时间限制的数据存储,localStorage中一般浏览器支持的是5M大小。

存储单个变量:

    存储数据: localStroage.setItem('name', 'Tiboo')

    读取数据: localStroage.getItem('name')

存储JSON对象:

info = {   name: 'Tiboo',   number: '1204914',   guid: '00123'}存储值: 将对象转换为JSON字符串localStroage.setItem('info', JSON.stringify(info));读取值: 将JSON字符串转换为对象let infoData = JSON.parse(localStroage.getItem('info'))

删除单个数据:

localStorage.removeItem('info');

删除所有数据:

localStorage.clear()

由于localStorage中一般浏览器支持的是5M大小,故当缓存中数据大于5M时,出现不存储数据,也不会覆盖现有数据,并且引发QUTA_EXCEEDED_ERR异常,故可以通过异常来强制清除缓存,如下所示:

try {   localStorage.setItem('info', JSON.stringify(info));  } catch (e) {     //存储满了,全部删除     localStorage.clear();     localStorage.setItem('info', JSON.stringify(info));}

cookie

cookie用于存储web页面的用户信息,当用户访问web页面时,他的名字可以记录在cookie中,在用户下一次访问该页面时,可以在cookier中读取用户访问记录,cookie中每条cookie的存储空间为4k。

创建cookie:

this.setCookie('b2bPartnerId', partnerId)  // 设置过期时间为30天  setCookie(name, value) {    let Days = 30;    let exp = new Date();    exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);    document.cookie = name + '=' + escape(value) + ';expires=' + exp.toGMTString();  },

 读取cookie:

let partnerId = this.getCookie('b2bPartnerId') getCookie(name) {   let arr,    reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)');  arr = document.cookie.match(reg)  if (arr) {    if (arr.length) {      return unescape(arr[2]);     } else {      return null;     }  } else {    return null;  }},

 

转载于:https://www.cnblogs.com/Tiboo/p/10355955.html

你可能感兴趣的文章
一个有味道的函数
查看>>
zookeeper在linux环境安装
查看>>
Python_异常和模块
查看>>
【386天】跃迁之路——程序员高效学习方法论探索系列(实验阶段143-2018.02.26)...
查看>>
Java数据类型分类
查看>>
springboot应用启动原理(一) 将启动脚本嵌入jar
查看>>
SpringMVC架构
查看>>
JAVA团队开发手册 - 2.代码管理
查看>>
【340天】我爱刷题系列099(2018.01.11)
查看>>
NPM酷库:uuid,生成随机ID
查看>>
SQL Server 数据库原理与应用
查看>>
关于CSS HACK
查看>>
频率法:数组排序的另一种思路
查看>>
spring security系列一:架构概述
查看>>
SouceInsight 快捷方式查看与修改
查看>>
超详细步骤 | 如何用小程序 SDK 实现电商评价模
查看>>
Android 类库
查看>>
vue和iview应用中的一些问题(持续更新)
查看>>
基于 Workman 实现Web扫描登录
查看>>
Vagrant+PHPStorm+Google+XDebug断点调试
查看>>