浏览器本地存储

本文详细介绍了浏览器本地存储的原理,包括sessionStorage和localStorage的基本操作,如增删改查,并强调了它们的区别。通过实例展示了如何在HTML和JavaScript中使用这两个API进行数据持久化。
简介

本文主要介绍浏览器的本地存储
概念:

  1. 浏览器的本地存储是指浏览器端通过window.sessionStorage和window.localStorage属性来进行浏览器的本地存储的。
  2. 一般能存5M左右的数据。

说白了就是八个api 的使用。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>浏览器本地存储</title>
</head>
<body>
    
    <script>

        //首先使用sessionStorage对象。
        //增,参数是key value
        window.sessionStorage.setItem("name","yehaocong");

        //获取
        var name = window.sessionStorage.getItem("name");
        console.log("name=",name);
    
        //改
        window.sessionStorage.setItem("name","liaoxiaoyan");

        //删除
        var name = window.sessionStorage.getItem("name");
        console.log("name=",name);

        window.sessionStorage.removeItem("name");

        var name = window.sessionStorage.getItem("name");
        console.log("name=",name);

        //清空
        window.sessionStorage.clear()

        

        //其次是localStorage,api是一模一样的
        //增,参数是key value
        window.localStorage.setItem("name","yehaocong");

        //获取
        var name = window.localStorage.getItem("name");
        console.log("name=",name);
    
        //改
        window.localStorage.setItem("name","liaoxiaoyan");

        //删除
        var name = window.localStorage.getItem("name");
        console.log("name=",name);

        window.localStorage.removeItem("name");

        var name = window.localStorage.getItem("name");
        console.log("name=",name);

        //清空
        window.localStorage.clear()

        
    </script>
</body>
</html>

效果:
在这里插入图片描述
浏览器的本地存储可以在开发者工具中看到。
首先要先注释掉上面的代码中删除和清空的代码:
在这里插入图片描述

sessionStorage和localStorage的区别是,sessionStorage会在窗口关闭重新打开后消失,而localStorage是保存在磁盘的,只有手动删除才会消失,如果获取的存储的key不存在,会返回null。

### 浏览器本地存储的作用与应用场景 #### 1. **浏览器本地存储概述** 浏览器本地存储是一种允许网页在客户端保存数据的技术,主要由 `localStorage` 和 `sessionStorage` 构成。这种技术使得开发者可以在用户的设备上持久化或临时性地存储数据,从而减少对服务器的依赖并提升用户体验[^1]。 --- #### 2. **LocalStorage 的作用与应用场景** ##### (1)**长期数据存储** - `localStorage` 提供了一种永久性的存储方案,即使用户关闭浏览器或重启计算机,数据仍然保留。 - 它适合于需要跨会话访问的数据,例如用户的偏好设置、主题模式选择等[^4]。 ##### (2)**典型应用场景** - 用户界面配置:如记住用户的字体大小、颜色主题或其他个性化选项。 - 缓存静态资源:将一些频繁使用的数据(如文章列表、图片路径)缓存在本地,以加快加载速度。 - 表单自动填充:保存未提交的表单内容以便在网络中断后恢复输入[^3]。 --- #### 3. **SessionStorage 的作用与应用场景** ##### (1)**短期数据存储** - `sessionStorage` 只会在同一会话期间保持有效,一旦用户关闭标签页或窗口,所有数据都会被清除。 - 这使其非常适合那些只需要短暂存在的信息,而不必担心泄露风险的情况[^2]。 ##### (2)**典型应用场景** - 购物车功能:记录当前购物车内商品的信息直到交易完成为止。 - 页面间导航状态转移:当从一个页面跳转至另一个页面时携带必要的上下文信息。 - 单次登录凭证验证:某些情况下可能希望令牌只存在于特定时间段内而不是无限期可用[^3]。 --- #### 4. **两者对比总结表格** | 特性 | LocalStorage | SessionStorage | |--------------------|---------------------------------------|------------------------------------| | 生命周期 | 长久存储 | 关闭标签页/窗口即销毁 | | 数据共享 | 同源下各窗口之间可互相访问 | 不同窗口间的 session 彼此独立 | | 主要用途 | 永久性数据 | 短暂性数据 | --- #### 5. **代码示例** 以下是一些简单的例子展示了如何使用这两种API来进行基本操作: ```javascript // 设置和获取 localStorage 值 localStorage.setItem("username", "Alice"); let username = localStorage.getItem("username"); // 删除某个 key-value 对 localStorage.removeItem("username"); // 清空整个 storage localStorage.clear(); // 使用 sessionStorage 存储数据 sessionStorage.setItem("pageState", JSON.stringify({scrollTop: 0, activeTab: 'home'})); let pageState = JSON.parse(sessionStorage.getItem("pageState")); ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值