浏览器本地存储 sessionStorage和localStorage

本文介绍了localStorage和sessionStorage的基本API操作,包括设置、读取、删除和清空数据,以及它们在浏览器缓存中的不同行为。重点讲解了如何保存和读取对象,以及如何在控制台查看本地缓存。同时,对比了两者的生命周期特性。

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

一. sessionStorage和localStorage的Api是一样的,都是四种

// 保存一个数据
setItem(key,value)
// 读取一个数据
getItem(key)
// 删除一个数据
removeItem(key)
// 清空所有数据
clear()

// 注意:4个方法里面的key和value都是字符串类型的

二. 下面是具体例子:
localStorage使用:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
<h2>localStorage</h2>
<button onclick="saveData()">点我保存一个数据</button>
<button onclick="readData()">点我读取一个数据</button>
<button onclick="deleteData()">点我删除一个数据</button>
<button onclick="deleteAllData()">点我清空所有数据</button>

<script>
  let p={name:'Bob',age:19};

  function saveData() {
    //注意:setItem里面的key和value都是字符串类型的,如果传入的不是字符串,
    // 就会调用 toString 方法 把它变为字符串
    window.localStorage.setItem('msg','hello');
    localStorage.setItem('msg2',666);

  //  保存对象的方式:注意: toString , JSON.stringify 和 JSON.parse 的区别
    localStorage.setItem('person',JSON.stringify(p));

  }

  function readData() {
    console.log(localStorage.getItem('msg2'));

    const res=localStorage.getItem('person');
    console.log(JSON.parse(res));

    const res1=localStorage.getItem('p');
    console.log(JSON.parse(res1));
  }

  function deleteData() {
    localStorage.removeItem('msg2');
  }

  function deleteAllData() {
    localStorage.clear();
  }

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

sessionStorage使用:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
<h2>sessionStorage</h2>
<button onclick="saveData()">点我保存一个数据</button>
<button onclick="readData()">点我读取一个数据</button>
<button onclick="deleteData()">点我删除一个数据</button>
<button onclick="deleteAllData()">点我清空所有数据</button>

<script>
  let p = {name: 'Bob', age: 19};

  function saveData() {
    //注意:setItem里面的key和value都是字符串类型的,如果传入的不是字符串,
    // 就会调用 toString 方法 把它变为字符串
    window.sessionStorage.setItem('msg', 'hello');
    sessionStorage.setItem('msg2', 666);

    //  保存对象的方式:注意: toString , JSON.stringify 和 JSON.parse 的区别
    sessionStorage.setItem('person', JSON.stringify(p));

  }

  function readData() {
    console.log(sessionStorage.getItem('msg2'));

    const res = sessionStorage.getItem('person');
    console.log(JSON.parse(res));

    const res1 = sessionStorage.getItem('p');
    console.log(JSON.parse(res1)); // 没有key的就输出null
  }

  function deleteData() {
    sessionStorage.removeItem('msg2');
  }

  function deleteAllData() {
    sessionStorage.clear();
  }

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

三. 怎样查看浏览器的本地缓存呢?
打开浏览器的控制台,找到application,找到 Local Storage和 Session Storage
在这里插入图片描述

四. localStorage 和 sessionStorage的区别是什么?

localStorage 在关闭浏览器页面的时候,数据也不会清除,除非是手动调用API或者清除浏览器缓存等,数据才会消失不见。

sessionStorage 在关闭浏览器页面的时候,数据会清除。

但是他们两个的API都是完全一样的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值