本地存储sessionStorage和localStorage(含案例)

localStorage和sessionStorage都是本地存储。

为什么要使用本地存储呢?

  • 答:因为在有些情况下,浏览器并不需要和服务器交流;比如一个备忘录的页面,它其实只需要将数据存储下来方便用户在忘记的时候查看即可,并不需要其他更多的与服务器的交流。当然我们也可以将其存储到服务器上去,但这样会增加服务器的负担,所以这个时候最好的选择是使用本地存储。也就是将用户的一些数据存到本地(即浏览器)

本地存储的特点:

  • 数据存储在用户浏览器中
  • 设置、读取方便,甚至页面刷新也不会丢失
  • 容量较大,sessionStorage容量约5M,localStorage容量约20M
  • 只能存储字符串;可将对象JSON.stringify()编码后存储

window.sessionStorage: 它属于window对象,window可省略

  • 生命周期为关闭浏览器
  • 在同一个窗口(页面)下的数据可以共享
  • 以键值对形式存储使用

常用方法:

  • sessionStorage.setItem(key, value) :存储数据
  • sessionStorage.getItem(key) :获取数据
  • sessionStorage.removeItem(key) :删除数据
  • sessionStorage.clear() :删除所有数据

window.localStorage : 它属于window对象,window可省略

  • 生命周期永久生效,即使关闭浏览器依然存在,除非手动删除
  • 可以多窗口(页面)共享数据,同一浏览器可以共享数据
  • 以键值对形式存储使用

常用方法:

  • localStorage.setItem(key,value) :存储数据
  • localStorage.getItem(key) :获取数据
  • localStorage.removeItem(key) :删除数据
  • localStorage.clear() :清空数据 / 删除所有数据

记住用户名案例:

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

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>记住用户名案例</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        
        #username {
            margin-left: 30px;
        }
    </style>
</head>

<body>
    <input type="text" id="username" />
    <input type="checkbox" id="check" /> 记住用户名
</body>
<script>
    var username = document.querySelector('#username');
    var check = document.querySelector('#check');
    check.checked = false;
    // 先看看localStorage里是否已有用户名,有就直接拿出来放到text框中,且复选框选中
    if (localStorage.getItem('username')) {
        username.value = localStorage.getItem('username');
        check.checked = true;
    }
    // 监听复选框是否改变
    check.addEventListener('change', function() {
        if (this.checked) {
            // 如果复选框被选中,则将用户名存入localStorage中
            localStorage.setItem('username', username.value);
        } else {
            // 复选框未被选中,则清空用户名
            localStorage.removeItem('username');
            check.checked = false;
        }
    })
</script>

</html>
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值