js缓存

localstorage

定义和使用

  1. localStorage 和 sessionStorage 属性允许在浏览器中存储 key/value 对的数据。
  2. localStorage 用于长久保存整个网站的数据,保存的数据没有过期时间,直到手动去删除。
  3. localStorage 属性是只读的。

语法

  1. 保存数据 localStorage.setItem("key", "value");
  2. 读取数据 var lastname = localStorage.getItem("key");
  3. 删除数据 localStorage.removeItem("key");
  4. 将localStorage的所有内容清除 localStorage.clear();

localStorage 的优势

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

localStorage 的局限

  1. 浏览器的大小不统一,并且在 IE8 以上的 IE 版本才支持 localStorage 这个属性。
  2. 目前所有的浏览器中都会把localStorage的值类型限定为string类型,这个在对我们日常比较常见的JSON对象类型需要一些转换。
  3. localStorage在浏览器的隐私模式下面是不可读取的。
  4. localStorage本质上是对字符串的读取,如果存储内容多的话会消耗内存空间,会导致页面变卡。
  5. localStorage不能被爬虫抓取到。

一般我们会将 JSON 存入 localStorage 中,但是在 localStorage 会自动将 localStorage 转换成为字符串形式。这个时候我们可以使用 JSON.stringify() 这个方法,来将 JSON 转换成为 JSON 字符串。读取之后要将 JSON 字符串转换成为 JSON 对象,使用 JSON.parse() 方法

cookie

// 创建 cookie
document.cookie = "username=Bill Gates";
// 添加有效日期(UTC 时间)。默认情况下,在浏览器关闭时会删除 cookie
document.cookie = "username=John Doe; expires=Sun, 31 Dec 2017 12:00:00 UTC";
// 通过 path 参数,您可以告诉浏览器 cookie 属于什么路径。默认情况下,cookie 属于当前页。
document.cookie = "username=Bill Gates; expires=Sun, 31 Dec 2017 12:00:00 UTC; path=/";
// 读取 cookie:
var x = document.cookie;
/*
删除 cookie
删除 cookie 时不必指定 cookie 值
直接把 expires 参数设置为过去的日期即可
*/
document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";

document.cookie 会在一条字符串中返回所有 cookie,比如:cookie1=value; cookie2=value; cookie3=value;

sessionStorage

  1. sessionStorage 用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据。

语法

  1. 保存数据语法:sessionStorage.setItem("key", "value");
  2. 读取数据语法:var lastname = sessionStorage.getItem("key");
  3. 删除指定键的数据语法:sessionStorage.removeItem("key");
  4. 删除所有数据:sessionStorage.clear();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值