
js 的 localStorage sessionStorage 区别
发布日期:2021-05-08 00:13:25
浏览次数:20
分类:原创文章
本文共 1245 字,大约阅读时间需要 4 分钟。
localStorage
,sessionStorage
都可以用于在客户端浏览器存储数据, 与cookie
不同的是, 发起 http 请求并不会自动携带localStorage
,sessionStorage
localStorage
,sessionStorage
只是生命周期不同, 它们的 api 是相同的, 例如setItem
getItem
clear
removeItem
key
length
localStorage
,sessionStorage
存入的 key 和 value 都固定是字符串, 如果存入我们存入对象, 那么会转为固定的字符串[object Object]
, 这不是我们期望的, 可以调用JSON.stringify
转为 json 字符串再存入localStorage
生命周期是永久, 只要用户不清理浏览器缓存即可. 而sessionStorage
生命周期仅限于浏览器关闭前, 即浏览器一旦关闭, 那么sessionStorage
数据就会丢失localStorage
,sessionStorage
的作用域都是相同的,procotol://ip或者domain:port
注意:http://www.baidu.com
与https://www.baidu.com
的 storage 不能共享, 因为协议不同,http://a.baidu.com
与http://b.baidu.com
也不能共享, 因为域名不同
// 存入某个 key value let username = 'username'; localStorage.setItem(username, '你好鸭') // 获取某个 key 的 value console.log(`localStorage.getItem('username') = ${ localStorage.getItem(username)}`) // 遍历所有 key value for (let i = 0; i < localStorage.length; i++){ console.log(`key = ${ localStorage.key(i)}, value = ${ localStorage.getItem(localStorage.key(i))}`); } // 移除某个 key 的 value localStorage.removeItem(username) // value 不存在, 返回 null console.log(`localStorage.getItem('username') = ${ localStorage.getItem(username)}`) // 移除所有 key value localStorage.clear();
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2025年03月24日 23时10分25秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
HTML基础,块级元素/行内元素/行内块元素辨析【2分钟掌握】
2019-03-05
keil左侧文件调整方法
2019-03-05
本地分支关联远程分支
2019-03-05
STM8 GPIO模式
2019-03-05
python多态和封装
2019-03-05
STM32boot启动
2019-03-05
回调函数(callback function)
2019-03-05
omnet++
2019-03-05
23种设计模式一:单例模式
2019-03-05
Qt中的析构函数
2019-03-05
CSharp中委托(一)委托、匿名函数、lambda表达式、多播委托、窗体传值、泛型委托
2019-03-05
二叉堆的c++模板类实现
2019-03-05
C语言实现dijkstra(adjacence matrix)
2019-03-05
SQL Server SQL语句调优技巧
2019-03-05
用C#实现封装-徐新帅-专题视频课程
2019-03-05
C语言学习从初级到精通的疯狂实战教程-徐新帅-专题视频课程
2019-03-05
三层框架+sql server数据库 实战教学-徐新帅-专题视频课程
2019-03-05
NAT工作原理
2019-03-05
Processes, threads and goroutines
2019-03-05
c++中的10种常见继承
2019-03-05