当前位置:首页 > JavaScript

js实现storage

2026-04-05 09:13:13JavaScript

使用 localStorage 实现本地存储

localStorage 允许在浏览器中存储键值对数据,数据不会过期,除非手动清除

// 存储数据
localStorage.setItem('key', 'value');

// 获取数据
const data = localStorage.getItem('key');

// 移除单个数据
localStorage.removeItem('key');

// 清空所有存储
localStorage.clear();

使用 sessionStorage 实现会话存储

sessionStorage 与 localStorage 类似,但数据仅在当前会话有效,关闭标签页后数据会被清除

js实现storage

// 存储数据
sessionStorage.setItem('sessionKey', 'sessionValue');

// 获取数据
const sessionData = sessionStorage.getItem('sessionKey');

使用 IndexedDB 实现结构化存储

IndexedDB 适合存储大量结构化数据,提供索引功能实现高效查询

js实现storage

// 打开或创建数据库
const request = indexedDB.open('myDatabase', 1);

request.onupgradeneeded = (event) => {
  const db = event.target.result;
  const store = db.createObjectStore('customers', {keyPath: 'id'});
  store.createIndex('name', 'name', {unique: false});
};

request.onsuccess = (event) => {
  const db = event.target.result;
  const transaction = db.transaction('customers', 'readwrite');
  const store = transaction.objectStore('customers');

  // 添加数据
  store.add({id: 1, name: 'John', email: 'john@example.com'});

  // 查询数据
  const getRequest = store.get(1);
  getRequest.onsuccess = () => {
    console.log(getRequest.result);
  };
};

使用 Cookies 实现小数据存储

Cookies 适合存储少量数据,可设置过期时间

// 设置cookie
document.cookie = 'username=John Doe; expires=Thu, 18 Dec 2023 12:00:00 UTC; path=/';

// 读取cookie
function getCookie(name) {
  const value = `; ${document.cookie}`;
  const parts = value.split(`; ${name}=`);
  if (parts.length === 2) return parts.pop().split(';').shift();
}

使用 Web SQL 实现关系型存储(已废弃)

虽然 Web SQL 已被废弃,但在某些旧浏览器中仍可使用

// 创建数据库
const db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);

// 执行SQL
db.transaction(function (tx) {
  tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id unique, log)');
  tx.executeSql('INSERT INTO LOGS (id, log) VALUES (1, "first log")');
});

存储安全注意事项

存储敏感数据时应考虑加密处理 避免存储过大数据影响性能 清除不再需要的存储数据释放空间 同源策略限制下,存储数据仅对创建它们的域名可用

标签: jsstorage
分享给朋友:

相关文章

原生js实现轮播图

原生js实现轮播图

基本结构搭建 HTML部分需要包含轮播图容器、图片列表及导航按钮。结构示例如下: <div class="slider-container"> <div class="slid…

js实现拷贝

js实现拷贝

实现文本拷贝 使用 document.execCommand 方法(已废弃但兼容性较好): function copyText(text) { const textarea = document…

js实现变形

js实现变形

使用 CSS 和 JavaScript 实现元素变形 在 JavaScript 中实现变形效果通常结合 CSS 的 transform 属性,通过动态修改该属性实现元素的旋转、缩放、倾斜或平移。 基…

js树实现

js树实现

树的基本概念 树是一种非线性的数据结构,由节点和边组成。每个节点包含一个值和指向子节点的引用。树的顶部节点称为根节点,没有子节点的节点称为叶节点。 树的实现方式 在JavaScript中,树可以通过…

js钟表实现

js钟表实现

实现JavaScript钟表的基本方法 创建一个简单的JavaScript钟表可以通过以下步骤完成,涵盖数字和模拟两种形式。 数字钟表实现 HTML结构只需一个显示时间的容器: <div i…

js实现滚动

js实现滚动

实现滚动效果的方法 在JavaScript中实现滚动效果可以通过多种方式完成,以下是一些常见的方法: 使用window.scrollTo() window.scrollTo()方法可以将页面滚动到指…