Window.localStorage 本地存储

localStorage提供持久化的本地存储,数据无过期时间,直到手动清除。特性包括生命周期长、同浏览器间数据共享以及键值对存储。使用方法涵盖存储、读取、删除和清空数据的操作,例如设置、获取、删除单个键值以及清空所有数据。示例展示了如何交互操作localStorage。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

localStorage 用于长久保存整个网站的数据,保存的数据没有过期时间,直到手动去删除。

特点:

1.生命周期直至手动删除

2.同一个浏览器内数据可以共享

3.3.以键值对的方式存储数据

使用方法:

1.存取数据

语法格式:

localStorage.setItem("key", "value");

2.读取数据

语法格式:

localStorage.getItem("key");

3.删除数据

语法格式:

localStorage.removeItem("key");

4.清空数据

语法格式:

localStorage.clear( );

示例:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    用户名:<input type="text" id="uname">
    年龄:<input type="text" id="uage">
    <button class="save">存储</button>
    <button class="remove">删除用户名</button>
    <button class="get">读取用户名</button>
    <button class="clear">清空</button>
    <script>
        var uname = document.querySelector('#uname');
        var uage = document.querySelector('#uage');
        var save = document.querySelector('.save');
        var remove = document.querySelector('.remove');
        var get = document.querySelector('.get');
        var clear = document.querySelector('.clear');
        save.addEventListener('click', function () {
            var infoname = uname.value;
            var infoage = uage.value;
            localStorage.setItem('username', infoname);
            localStorage.setItem('userage', infoage);
        });
        remove.addEventListener('click', function () {
            localStorage.removeItem('username');
        });
        get.addEventListener('click', function () {
            console.log(localStorage.getItem('username'));
        });
        clear.addEventListener('click', function () {
            localStorage.clear();
        });
    </script>

</html>

输入以下内容:

(1)点击存储按钮

两条数据被存储至本地存储。

(2)点击删除用户名按钮

username数据被删除。

(3)点击获取用户名按钮

控制台输出了username。

(4)点击清空按钮

数据被清空。

值得一提的是,关闭页面后,再次打开时数据仍然存在。

 

### 存储 JavaScript 对象到 `window.localStorage` `window.localStorage` 只能存储字符串形式的数据。为了保存复杂的结构化数据,比如 JavaScript 对象,可以先利用 `JSON.stringify()` 方法将其转换成 JSON 字符串再存入本地存储[^1]。 #### 将对象序列化并存储 下面是一个简单的例子展示如何把一个 JavaScript 对象转化为 JSON 字符串并通过 `localStorage.setItem()` 函数写入: ```javascript const customerData = { id: 1, name: "John Doe", email: "john@example.com" }; // 使用 JSON.stringify() 序列化对象 const jsonDataString = JSON.stringify(customerData); // 设置 localStorage 的键值对 localStorage.setItem('customer', jsonDataString); ``` 当需要读取这些信息时,则可以通过 `JSON.parse()` 来反序列化获取原始的对象表示形式: #### 获取已存储的对象 ```javascript // 从 localStorage 中取出对应的项 let storedJsonString = localStorage.getItem('customer'); if (storedJsonString !== null) { try { // 解析 JSON 字符串恢复为原生 JS 对象 let restoredCustomerObject = JSON.parse(storedJsonString); console.log(restoredCustomerObject); // 输出 {id: 1, name: 'John Doe', email: 'john@example.com'} } catch(e) { console.error("Failed to parse the data from local storage.", e); } } ``` 值得注意的是,在实际应用中应当考虑异常处理机制以应对可能发生的解析错误等问题。另外,由于 `localStorage` 和 `sessionStorage` 都有大约 5MB 左右的最大容量限制,因此不适合用来储存非常庞大的数据集[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值