H5新特性之一:本地存储lacalStorage

优点:

  1.解决了cookie本地存储空间不足的问题(cookie中每条cookie的存储空间为4k),localStorage一般浏览器支持的是5m,视浏览器而定

  2. localStorage会可以将第一次请求的数据直接存储到本地,这个相当于一个5M大小的针对于前端页面的数据库,相比于cookie可以节约带宽

缺点:

  1.不同浏览器大小不统一,并且在IE8以上的IE版本才支持localStorage这个属性

  2.所有的浏览器中都会把localStorage的值类型限定为string类型,对JSON对象类型需要一些转换

  3.localStorage在浏览器的隐私模式下面是不可读取的

  4.localStorage本质上是对字符串的读取,如果存储内容多的话会消耗内存空间,会导致页面变卡

  5.localStorage不能被爬虫抓取到

区别:localStorage属于永久性存储;sessionStorage当会话结束的时候,其中的键值对会被清空

用法:

  1.清空:

localStorage.clear() // undefined
localStorage //Storage {length: 0}

  2.存储:

localStorage.setItem("name","caibin") //存储名字为name值为caibin的变量
localStorage.name = "caibin"; // 等价于上面的命令
localStorage // Storage{name: "caibin", length: 1} 读取数据

  3.读取:

localStorage.getItem("name") //caibin,读取保存在localStorage对象里名为name的变量的值
localStorage.name // "caibin"
localStorage.valueOf() //读取存储在localStorage上的所有数据
localStorage.key(0) // 读取第一条数据的变量名(键值)
//遍历并输出localStorage里存储的名字和值
for(var i=0; i<localStorage.length;i++){console.log('localStorage里存储的第'+i+'条数据的名字为:'+localStorage.key(i)+',值为:'+localStorage.getItem(localStorage.key(i)));
}

  4.删除某个变量:

localStorage.removeItem("name"); //undefined
localStorage // Storage {length: 0} 之前保存的name变量从localStorage里删除了

  5.检查localStorage里是否保存某个变量:

localStorage.hasOwnProperty('name') // true
localStorage.hasOwnProperty('sex') // false

  6.将数组转为本地字符串:

var arr = ['aa','bb','cc']; // ["aa","bb","cc"]
localStorage.arr = arr //["aa","bb","cc"]
localStorage.arr.toLocaleString(); // "aa,bb,cc"

  7.将JSON存储到localStorage里:

var students = {xiaomin: {name: "xiaoming",grade: 1},teemo: {name: "teemo",grade: 3}
}students = JSON.stringify(students); //将JSON转为字符串存到变量里
console.log(students);
localStorage.setItem("students",students);//将变量存到localStorage里var newStudents = localStorage.getItem("students");
newStudents = JSON.parse(students); //转为JSON
console.log(newStudents); // 打印出原先对象

转载于:https://www.cnblogs.com/wccc/p/9889776.html

localStorage和sessionStorage相关推荐

  1. 2.javascript之缓存 localStorage 和sessionStorage之间的区别

    2018-08-04 前言 今天做项目的时候遇到了这个问题,用户登录成功之后如何改变将登录的链接切换为用户名 解决方案:使用了sessionstorage缓存 和js的onload加载事件 用户登录成 ...

  2. localStorage、sessionStorage、Cookie的区别及用法

    localStorage html5新增的一个本地存储API,所谓localStorage就是一个小仓库的意思,它有5M的大小空间,存储在浏览器中. localStorage生命周期是永久,这意味着除 ...

  3. H5存储------localStorage和sessionStorage

    web现在随着计算机的高速发展,客户端干的事情越来越多了,随着事情的增多,很多东西存储就不止在服务器了,本地存储越来越强大了(大神原谅我废话了????) 早期时期 cookie存储 (之前我用着还是很 ...

  4. 详说 Cookie, LocalStorage 与 SessionStorage

    本文最初发布于我的个人博客:咀嚼之味 最近在找暑期实习,其中百度.网易游戏.阿里的面试都问到一些关于HTML5的东西,问题大多是这样开头的:"你用过什么HTML5的技术呀?" 而后 ...

  5. Cookie, LocalStorage 与 SessionStorage异同

    不同 cookie由服务端生成,用于标识用户身份:而两个storage用于浏览器端缓存数据 一般情况下浏览器端不会修改 cookie,但会频繁操作两个storage cookie有path概念,子路径 ...

  6. localStorage与sessionStorage的区别

    在之前的面试当中经常会被问到localStorage与sessionStorage的区别.通常我的回答都比较简单和我对它的理解一样:localStorage是永久存储,除非手动清除,否则会一直保存在浏 ...

  7. 关于localStorage和sessionStorage存储用法的一些细节说明----------localStorage和sessionStorage存储必须字符串化...

    localStorage 和 sessionStorage 基本用法基本一致:localStorage需要会长时间保存,而sessionStorage会保存在当前对话框,会随着创库的关闭而被清除, 存 ...

  8. Web数据存储之localStorage和sessionStorage

    Web数据存储之localStorage和sessionStorage 学习前端以来,自己了解有localStorage和sessionStorage的相关存储的知识,也有实践过,但是之前只限于能用的 ...

  9. Vue项目代码改进(三)—— Cookie、LocalStorage和SessionStorage的使用

    存在问题: 如果在退出页面时,没有点击"退出"按钮,而是直接关闭页面,token并没有被清除,依然能通过访问http://localhost:8080/#/ 直接进入主页. 原因: ...

  10. cookie html5,HTML5——存储(cookie、localStorage、sessionStorage)的区别

    cookie 本来用于客户端和服务端通信, 但是因为它有本地存储的功能,于是被"借用"了. 使用方法 document.cookie 获取和修改即可 缺点 存储量太少,只有4kb ...

最新文章

  1. Hi3516A开发--常用指令和根文件目录详解
  2. SDL及扩展库在ARM-Linux 完整移植
  3. Error:Artifact com.*******:war exploded: java.nio.file.InvalidPathException: Illeg
  4. 11--移除重复节点
  5. Python之函数的参数
  6. reveal end of document
  7. session过期问题
  8. php curl读取头,php curl 获取请求头与DNS解析
  9. JavaSE学习笔记--Item1 注解Annotation
  10. 怎样让vSAN发挥出高性能、低延迟的威力?
  11. Deep Glow for mac(AE高级辉光特效插件)
  12. 矩阵分解MF与非负矩阵分解NMF的应用
  13. 为什么存png还有白色底_为什么导出png还是有白底
  14. 软件架构设计–五视图法
  15. PCB设计时应该考虑的几个问题
  16. Android 扫一扫功能 二维码 条形码
  17. JSP危险化学品管理系统myeclipse开发mysql数据库bs框架java编程jdbc详细设计
  18. Python笔记_07_列表的相关操作_列表相关函数_深浅拷贝_字典相关函数_集合相关函数_冰冻集合
  19. 分布式计算的基本原理
  20. MD04, MD05, MD07, MD07区别

热门文章

  1. 前端学习 -- Css -- 字体分类
  2. springMVC和Shiro框架整合使用简单示例 【转】
  3. Linux进程的Uninterruptible sleep(D)状态
  4. Proximal Algorithms 3 Interpretation
  5. 【新浪上海】上海信息化建设进入新阶段 首席信息官联盟发挥重要作用
  6. Centos6.9安装Oracle11G(静默方式)
  7. XML和JSON 数据交换格式
  8. binlog日志的三种模式
  9. 使用python爬虫抓站的一些技巧总结:进阶篇
  10. Bleve:来自Couchbase、基于Go语言的全文索引与检索库