localStorage

什么是localStorage?


localStorage允许在浏览器中存储键值对的数据。

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

localStorage属性是只读的。

localStorage的优势

  • 1、localStorage扩展了cookie的4k限制。
  • 2、localStorage可以将第一次请求的数据直接存储到本地,这个相当于一个5M大小的针对前端页面的数据库,相比于cookie可以节约宽带,但是这个却是只有在高版本的浏览器中才支持的。

localStorage的局限

  • 1、浏览器的大小不统一,并且在IE8以上的IE版本才支持localStorage
  • 2、目前所有的浏览器中都会把localStorage的值类型限定为json字符串类型。
  • 3、localStorage在浏览器的隐私模式下面是不可读取的。
  • 4、localStorage本质上是对字符串的读取,如果存储内容多的话就会消耗内存空间,会导致页面变卡。
  • 5、容易被黑客获取到信息,安全性不高。

localStorage的操作方法


localstorage的设定,如下所示:

localStorage.setItem(键名 , 键值);
localStorage.键名 = 键值;

localStorage的获取,如下所示:

localStorage.getItem( 键名 );
localStorage.键名;

localStorage的删除,如下所示

localStorage.removeItem( 键名 );

localStorage的清空,如下所示:

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>
    <script>
        const arr = ['北京', '上海', '广州', '深圳', '武汉'];
        const obj = {name:'王昭没有君啊', age:22, sex:'男', addr:'北京'};
        
        //设定localStorage
        //浏览器都会把localStorage的值类型限定为json字符串类型
        localStorage.setItem('arr' , JSON.stringify( arr ));
        localStorage.obj = JSON.stringify( obj );

        //获取localStorage
        console.log(localStorage.getItem( 'arr' ));
        console.log(localStorage.obj);
  
        //删除localStorage
        //localStorage.removeItem('arr');

        //清空localStorage
        localStorage.clear();
        console.log(localStorage);
    </script>
</body>
</html>

Cookie和localStorage的对比


相同:

都是浏览器提供的本地存储数据的功能,本地存储的数据安全性不高,一般都不会存储关键信息

不同点:

1、cookie以键值对形式存储数据,只能存储字符串

localStorage以键值对形式存储数据,可以存储字符串或者json字符串

2、cookie前端后端都能操作

localStorage只能前端程序操作

3、cookie有时效性,过期浏览器自动删除

localStorage没有时效性,除非手动删除,否则会一直存在

4、cookie有路径设定,符合路径的文件才能访问

localStorage路径是根目录路径,所有根目录中的文件都可以访问

5、cookie存储的数据文件大小一般比较小,大小约4k左右

localStorage存储的数据文件大小一般比较大,大约是4M左右

6、cookie操作必须要经过服务器

localStorage可以本地允许操作

实际项目中,一般简单的数据,存储为cookie字符串 数字

实际项目中,一般复杂的数据,存储的localStorage 数组 对象

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

王昭没有君啊

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

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

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

打赏作者

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

抵扣说明:

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

余额充值