Web API 第6(本地存储)

本文详细介绍了Web API中的本地存储特性,包括sessionStorage和localStorage。本地存储可以在浏览器中持久化数据,容量大且不会因页面刷新而丢失。sessionStorage的数据在浏览器窗口关闭后失效,适合同窗口数据共享;而localStorage数据永久保存,可在多窗口间共享。文章通过实例展示了如何进行数据的存储、读取和删除操作,特别是对于记住用户名等场景的应用。

本地存储

(1)本地存储特性
1,数据存储在用户浏览器中;
2,设置、读取方便、刷新页面也不会丢失数据;
3,容量较大,sessionStorage约5M、localStorage约20M;
4,只能存储字符串,可以将对象JSON.stringify()编码后存储;
(2)window.sessionStorage
1,生命周期为关闭浏览器窗口;
2,在同一个窗口(页面)下数据可以共享;
3,已键值对的形式存储使用;
存储数据:sessiongStorage.setItem(key,value);
获取数据:sessionStorage.getItem(key);
删除数据:sessionStorage.removeItem(key);
删除所有数据:sessionStorage.clear();
例子:

<body>
    <input type="text">
    <button class="set">存储数据</button>
    <button class="get">获取数据</button>
    <button class="remove">删除数据</button>
    <button class="del">清空数据</button>
    <script>
        var ipt = document.querySelector('input');
        var set = document.querySelector('.set');
        var get = document.querySelector('.get');
        var remove = document.querySelector('.remove');
        var del = document.querySelector('.del');
        set.addEventListener('click', function() {
            //点击之后可以将表单的值存储起来
            var val = ipt.value;
            sessionStorage.setItem('uname', val);
        });
        get.addEventListener('click', function() {
            //点击之后可以获取表单的值
            console.log(sessionStorage.getItem('uname'));
        });
        remove.addEventListener('click', function() {
            //点击之后可以删除表单的值
            sessionStorage.removeItem('uname');
        });
        del.addEventListener('click', function() {
            //点击之后可以将表单的值全部删除(不推荐使用)
            sessionStorage.clear();
        });
    </script>

</body>

(3)window.localStorage
1,生命周期永久生效,除非手动删除否则关闭页面也存在;
2,可以多窗口(页面)共享(同一浏览器可以共享);
3,以键值对的形式存储使用;
存储数据:localStorage.setItem(key,value);
获取数据:localStorage.getItem(key);
删除数据:localStorage.removeItem(key);
删除所有数据:localStorage.clear();
例子:

<body>
    <input type="text">
    <button class="set">存储数据</button>
    <button class="get">获取数据</button>
    <button class="remove">删除数据</button>
    <button class="del">清空数据</button>
    <script>
        var ipt = document.querySelector('input');
        var set = document.querySelector('.set');
        var get = document.querySelector('.get');
        var remove = document.querySelector('.remove');
        var del = document.querySelector('.del');
        set.addEventListener('click', function() {
            //点击之后可以将表单的值存储起来
            var val = ipt.value;
            localStorage.setItem('uname', val);
        });
        get.addEventListener('click', function() {
            //点击之后可以获取表单的值
            console.log(localStorage.getItem('uname'));
        });
        remove.addEventListener('click', function() {
            //点击之后可以删除表单的值
            localStorage.removeItem('uname');
        });
        del.addEventListener('click', function() {
            //点击之后可以将表单的值全部删除
            localStorage.clear();
        });
    </script>

</body>

例子:记住用户名

<body>
    <input type="text" id="username"><input type="checkbox" id="remember">记住用户名
    <script>
        var username = document.querySelector('#username');
        var remember = document.querySelector('#remember');
        if (localStorage.getItem('username')) {
            username.value = localStorage.getItem('username')
            remember.checked = true;
        }
        remember.addEventListener('change', function() {
            if (this.checked) {
                localStorage.setItem('username', username.value)
            } else {
                localStorage.removeItem('username');
            }
        })
    </script>

</body>
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值