cookie
- 读取
document.cookie
- 写入
document.cookie = newCookie
// newCookie 就是一个键值对形式的字符串
ps.用这个方法一次只能对一个 cookie 的值进行设置或更新;
- cookie 的属性
- ;path=path 默认为当前文档位置的路径
- ;domain=domain 例如 exam.com 或 1.exam.com,若无定义,默认为当前文档的域名部分;
- ;max-age=timeValue 单位为秒,多长时间后 cookie 失效
- ;expires=timeValue 某时间点后失效
- ;secure cookie 只能通过 http 传输
localStorage
- 用法
localStorage.setItem('myCat', 'Tom');
var cat = localStorage.getItem('myCat');
localStorage.removeItem('myCat');
// Clear all items
localStorage.clear();
sessionStorage
- 和 localStorage 的区别
- localStorage 不会过期,sessionStorage 会在网页 session 结束(关闭网页)的时候清除
-
api
// Save data to sessionStorage sessionStorage.setItem('key', 'value'); // Get saved data from sessionStorage let data = sessionStorage.getItem('key'); // Remove saved data from sessionStorage sessionStorage.removeItem('key'); // Remove all saved data from sessionStorage sessionStorage.clear();
IndexDB
IndexedDB 是一个基于 JavaScript 的面向对象的数据库
- 应用
- 结合 service worker 制作离线 PWA
- 特性
- 同源策略:当你在某个域名下操作储存数据的时候,你不能操作其他域名下的数据;
- 异步:使用 IndexedDB 执行的操作是异步执行的,以免阻塞应用程序;