在 JavaScript 中实现浏览器端本地存储主要有以下几种方式:
- Cookie: Cookie 是网站为了辨别用户身份而储存在用户本地终端上的数据。
设置 Cookie:
document.cookie = "key=value";
获取 Cookie:
var cookie = document.cookie;
var key = cookie.split('=')[0];
var value = cookie.split('=')[1];
缺点:数据量小(4KB),每次都会发送到服务器。
- sessionStorage:存储特定于某个会话的数据,关闭页面就清空。
设置:
sessionStorage.setItem('key', 'value');
获取:
var value = sessionStorage.getItem('key');
- localStorage:持久化的本地存储,生命周期为永久,邮箱大小为5MB。
设置:
localStorage.setItem('key', 'value');
获取:
var value = localStorage.getItem('key');
- IndexedDB: 是一个低级 API 用来建立和管理一个 queried 功能的数据库,可以储存大量数据,支持事务。
设置:
var request = window.indexedDB.open("myDatabase", 1);
获取:需要建立索引来查询。
所以,总结来说 JavaScript 本地存储主要有以下几种方式:
- Cookie:数据量小,每次请求都发送到服务器,用于保存用户登录状态等。
- sessionStorage:生命周期为关闭页面,用于保存用户会话数据。
- localStorage:生命周期为永久,用于保存较大数据量的本地数据。
- IndexedDB:支持事务,可存储超大数据,需要建立索引来查询。