cookie 与 sessionStorage 和 localStorage 的区别

发布于 2025-02-24 13:53:04 字数 1309 浏览 4 评论 0

区别

数据的生命周期

cookie 可以设置失效时间,默认是关闭浏览器后失效

sessionStorage 仅在当前回话下有效,关闭标签或浏览器后失效

localStorage 除非手动清除,否则永久保存

存储数据的大小

cookie 在 4kb 左右

sessionStorage 和 localStorage 在 5MB 左右,因浏览器而异

与服务器端通讯

cookie 会被携带在 HTTP 的请求头中,所以用 cookie 存储太多数据会带有性能问题

sessionStorage 和 localStorage 仅存在客户端,不参与服务器通讯

正因为 cookie 会参与服务器通讯,所以 storage 是不能取代 cookie 的,因为 cookie 是 HTTP 协议的一部分

易用性

cookie 的原生接口不友好,需要手动封装读写操作

storage 的原生接口还是可以接受的

注意

storage 在存储数据的时候,都是以字符串的形式进行保存的,所以无论你存储的是数字类型还是对象类型,当你读取的时候,你得到的将是该数据的字符串表示

封装

cookie 的增删改查

document.cookie

storage 的增删改查

曾:

localStorage.age = 24
// 等价于
localStorage.setItem('age', 24)

查:

localStorage.age
// 等价于
localStorage.getItem('age')

改:

修改类似于增加,在原有的 key 上重新设置值就可以了

localStorage.age = 24
// 修改
localStorage.age = 30

删:

删除全部存储的内容

localStorage.clear()

删除某个键值

localStorage.removeItem('age')

获取对应索引的键值:

localStorage.key(index)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

转角预定愛

暂无简介

文章
评论
27 人气
更多

推荐作者

闻呓

文章 0 评论 0

深府石板幽径

文章 0 评论 0

mabiao

文章 0 评论 0

枕花眠

文章 0 评论 0

qq_CrTt6n

文章 0 评论 0

红颜悴

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文