前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LocalStorage、SessionStorage

LocalStorage、SessionStorage

作者头像
代码之风
发布2018-10-31 11:40:27
9420
发布2018-10-31 11:40:27
举报
文章被收录于专栏:马涛涛的专栏

window.sessionStoragewindow.localStorage接口用于脚本在浏览器保存数据。

LocalStorage

基本使用

设置
代码语言:javascript
复制
window.sessionStorage.setItem('key', 'value');
window.localStorage.setItem('key', 'value');
获取
代码语言:javascript
复制
window.sessionStorage.getItem('key')
window.localStorage.getItem('key')
清除
代码语言:javascript
复制
localStorage.removeItem('key');
window.localStorage.clear()

完整用法

注意点

  1. localStorage是html5技术提供的API,html5中新增加的标签,技术(包括promise,localStorage等),统称为html5
  2. session是服务器上存的hash,但localStorage实质也是一个hash,只不过是浏览器上的hash
  3. localStorage只能存String类型的字符串

存函数会转化成字符串。存对象的时候会变成"[object Object]",因为({1:'xxx'}).toString()//"[object Object]"

  1. 解决方法:用json来存。例如:localStorage.setItem('jsonString', JSON.stringify({name: 'mtt'}))

使用注意

localStorage里的数据和js变量有什么区别?

当一个js变量被从新赋值,变量的值当即被改变,但当页面刷新时,变量又回到最初的状态。 而localStorage的变量不存在页面里,windows系统存在客户端本地的C盘的一个文件里。

简单的使用实例

想要只提示用户一次,当下次用户进入这个网站上的时候,不跳出提示框。

代码语言:javascript
复制
<script>
 let already  = localStrorage.getItem('已经提示了')
 if(!already){
    alert('你好,我们的网站即将改版了')
    localStorage.setItem('已经提示了', true)
 }
</script>

总结

  1. LocalStorage 跟 HTTP 无关(而cookie是http的一个头)
  2. 发送HTTP请求时 不会带上 LocalStorage 的值
  3. 只有相同域名的页面才能互相读取 LocalStorage(没有同源那么严格)
  4. 每个域名 localStorage 最大存储量为 5Mb 左右(每个浏览器不一样)
  5. 常用场景:记录有没有提示过用户(没有用的信息,不能记录密码)
  6. LocalStorage 永久有效,除非用户主动清理缓存

SessionStorage

sessionStorage保存的数据用于浏览器的一次会话(session)当会话结束(通常是窗口关闭),数据被清空;localStorage保存的数据长期存在,下一次访问该网站的时候,网页可以直接读取以前保存的数据。除了保存期限的长短不同,这两个对象的其他方面都一致

总结:SessionStorage 在用户关闭页面(会话结束)后就失效。其余的和localstorage一样

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-10-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • LocalStorage
    • 基本使用
      • 设置
      • 获取
      • 清除
    • 注意点
      • 使用注意
        • localStorage里的数据和js变量有什么区别?
        • 简单的使用实例
      • 总结
      • SessionStorage
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档