如何在Javascript中实现浏览器端的本地存储?有哪些方式?

在 JavaScript 中实现浏览器端本地存储主要有以下几种方式:

  1. Cookie: Cookie 是网站为了辨别用户身份而储存在用户本地终端上的数据。
    设置 Cookie:
document.cookie = "key=value";

获取 Cookie:

var cookie = document.cookie; 
var key = cookie.split('=')[0];
var value = cookie.split('=')[1];

缺点:数据量小(4KB),每次都会发送到服务器。

  1. sessionStorage:存储特定于某个会话的数据,关闭页面就清空。
    设置:
sessionStorage.setItem('key', 'value');

获取:

var value = sessionStorage.getItem('key');
  1. localStorage:持久化的本地存储,生命周期为永久,邮箱大小为5MB。
    设置:
localStorage.setItem('key', 'value');

获取:

var value = localStorage.getItem('key');
  1. IndexedDB: 是一个低级 API 用来建立和管理一个 queried 功能的数据库,可以储存大量数据,支持事务。
    设置:
var request = window.indexedDB.open("myDatabase", 1);

获取:需要建立索引来查询。

所以,总结来说 JavaScript 本地存储主要有以下几种方式:

  1. Cookie:数据量小,每次请求都发送到服务器,用于保存用户登录状态等。
  2. sessionStorage:生命周期为关闭页面,用于保存用户会话数据。
  3. localStorage:生命周期为永久,用于保存较大数据量的本地数据。
  4. IndexedDB:支持事务,可存储超大数据,需要建立索引来查询。