会话存储sessionStorage与本地存储localStorage叙述与案例分析

28 篇文章 3 订阅
19 篇文章 1 订阅

一、概述:

会话存储:

生命周期为关闭浏览器窗口

在同一个窗口页面下数据可以共享

以键值对的形式存储使用

存储数据:sessionStroage.setItem.('key','value');

获取数据:sessionStorage.getItem.('key');

删除数据:sessionStroage.removeItem('key');

清除所有数据:sessionStorage.clear( );

注意点:所有方法的括号里面,不管是赋值还是使用值都要用引号引起来

本地存储:

生命周期为永久生效。除非手动删除,否则关闭浏览器也会存在。

可以在同一浏览器中的不同页面共享数据

以键值对的形式存储使用

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

获取数据:localStorage.getItem('key');

删除数据:localStorage.remove('key');

清除所有数据:localStorage.clear( );

二、案例

会话存储:

主体样式如图所示:

主要利用四个按钮,对文本框中的值进行存储、获取、删除的操作。

<style>
        button {
            width: 100px;
            height: 50px;
        }
        
        input {
            height: 50px;
            outline: none;
            font-size: 20px;
        }
    </style>
</head>

<body>
    <!-- html部分 -->
    <input type="text">
    <button class="set">存储数据</button>
    <button class="get">获得数据</button>
    <button class="remove">删除数据</button>
    <button class="clear">清除所有数据</button>
    <!-- script部分 -->
    <script>
        // 获取元素
        var get = document.querySelector('.get');
        var set = document.querySelector('.set');
        var remove = document.querySelector('.remove');
        var clear = document.querySelector('.clear');
        // 获取input文本框
        var ipt = document.querySelector('input');
        // 给"存储"按钮添加点击注册事件
        // 如果input文本框中有值,当点击"存储"按钮时,就将他会话存储,并提示。
        // 如果input文本框中没有值,下面的就不再执行
        set.addEventListener('click', function() {
            if (ipt.value == '') {
                return false;
            }
            sessionStorage.setItem('uname', ipt.value);
            ipt.value = '';
            alert('存储成功!');
        });
        // 定义一个全局变量的变量
        var u = null;
        // 给"获取"按钮添加点击注册事件
        // 先用会话存储的方式获取uname(上面刚存入)的值,如果uname为空就不再执行;
        // 如果有值就alert输出值。
        get.addEventListener('click', function() {
            u = sessionStorage.getItem('uname');
            if (u == null) {
                return false;
            }
            alert(u);
        });
        // 给"删除"按钮添加点击注册事件
        // 先判断上面是否存入值,如果存入uname的值,就删除;否则下面的就不再执行
        remove.addEventListener('click', function() {
            if (u == null) {
                return false;
            }
            sessionStorage.removeItem('uname');
            alert('删除成功!');
        });
    </script>

本地存储:

主体样式如图所示:

主要是利用本地存储的永久保存的特点,实现输入内容后关闭窗口,等再打开时能’记忆‘显示之前输入过的文字。

勾选存储选择框后才能存储,不勾选就清除(保护用户隐私)。

<style>
        input#ipt {
            width: 200px;
            height: 40px;
            outline: none;
            margin-left: 600px;
        }
        
        input#check {
            width: 20px;
            height: 20px;
        }
    </style>
</head>

<body>
    <input type="text" name="" id="ipt">
    <input type="checkbox" name="按钮" id="check">
    <script>
        // 执行顺序:按顺序执行。
        // 1、判断uname是否有值,如果有值执行第一段代码。
        // 2、执行完后再执行第二段,如果复选框状态发生改变就触发事件

        // 获取元素
        var ipt = document.querySelector('#ipt');
        var check = document.querySelector('#check');

        // 第一段
        // 如果uname有值,就存起来,并把复选框勾选
        // 作用:刷新之后看看uname有值吗,有值的话就显示在文本框中(赋值)
        if (localStorage.getItem('uname')) {
            // 将值赋值给文本框
            ipt.value = localStorage.getItem('uname');
            // 将复选框选中状态
            check.checked = true;
        };
        // 第二段
        // 如果复选框发生改变   1、打钩:将文本框中的值存储到uname里面   2、取消勾:清除uname和他的值
        check.addEventListener('change', function() {
            if (this.checked) {
                localStorage.setItem('uname', ipt.value);
            } else {
                localStorage.removeItem('uname');
            }
        })
    </script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

周百万.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值