一、本地存储

  在HTML5诞生之前,网站如果想在浏览器端存储数据,只能使用Cookie,使用Cookie有较多的限制。

  Cookie问题:

   1.cookie大小限制在4K左右(各个浏览器不一致)

   2.cookie每次随着HTTP请求都会一起发送(造成很多不需要的cookie也会一起发送)

  本地存储:

   1.localStorage大小限制在5M(各个浏览器不一致)

   2.localStorage不会随着HTTP请求一起发送

二、会话级别的本地存储-sessionStorage

  sessionStorage:用户浏览某个网站时,从进入网站开始一直到关闭网站,这就是session对象的有效期。

  sessionStorage提供了四种方法对本地存储做相关操作。

  1. setItem( key, value );添加本地存储数据

  2.getItem( key );通过key获取相应的value值

  3.removeItem( key ); 通过key删除相应的value值

  4.clear();清空本地所有(限本域名下)session数据

 <script type="text/javascript">
//添加key-value 数据到 sessionStorage
sessionStorage.setItem("name", "怜白");
sessionStorage.setItem("job", "前端"); //通过key来获取value
var name = sessionStorage.getItem("name"); console.log(name); // 怜白
console.log(sessionStorage.length); // // 通过key删除value
sessionStorage.removeItem("job"); console.log(sessionStorage.length); // //清空所有的key-value数据。
sessionStorage.clear(); console.log(sessionStorage.length); //
</script>

三、永久本地存储-localStorage

  localStorage:用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。

  localStorage提供了四种方法对本地存储做相关操作。

  1. setItem( key, value );添加本地存储数据

  2.getItem( key );通过key获取相应的value值

  3.removeItem( key ); 通过key删除相应的value值

  4.clear();清空本地所有数据

 <script type="text/javascript">
//添加key-value 数据到 sessionStorage
localStorage.setItem("name", "怜白");
localStorage.setItem("job", "前端"); //通过key来获取value
var name = localStorage.getItem("name"); console.log(name); // 怜白
console.log(localStorage.length); // // 通过key删除value
localStorage.removeItem("job"); console.log(localStorage.length); // //清空所有的key-value数据。
localStorage.clear(); console.log(localStorage.length); //
</script>

四、总结  

  localStorage与sessionStorage 两种区别就是一个临时保存,一个长期保存。

  你可能见过下面这种写法:

 <script type="text/javascript">
// 设置name
localStorage.name = "怜白" // 删除name
delete localStorage.name
</script>

  上面直接赋值的方法确实可以实现功能,但是官方文档中将其定义为一种不安全的写法,所以不要用这种写法,使用localStorage提供的方法。

localStorage学习总结的更多相关文章

  1. Rootkit XSS

    0x00 XSS Rootkit介绍 Rootkit概念: 一种特殊的恶意软件            类型: 常见为木马.后门等            特点: 隐蔽 持久控制 谈到XSS,一般都是想到 ...

  2. (转)HTML5开发学习(2):本地存储之localStorage 、sessionStorage、globalStorage

    原文:http://www.cnblogs.com/xumingxiang/archive/2012/03/25/2416386.html HTML5开发学习(2):本地存储之localStorage ...

  3. JavaScript 学习笔记 - LocalStorage

    前言 本文主要介绍本地存储的基本使用,以及它和 Cookie.SessionStorage 的区别. 简单回顾 Cookie 在 HTML5 之前,本地存储数据一般是通过 Cookie 来完成的.我们 ...

  4. [学习笔记]JS计数器,闭包和localStorage

    1.前言 Javascript也算用了挺久了,为了得到一个变量,类似Java的静态变量的功能,我想到了很早以前学习JS的闭包,还有做俄罗斯方块的排行榜用到LocalStorage技术,所以想总结一下, ...

  5. HTML5 学习笔记(三)——本地存储(LocalStorage、SessionStorage、Web SQL Database)

    一.HTML4客户端存储 B/S架构的应用大量的信息存储在服务器端,客户端通过请求响应的方式从服务器获得数据,这样集中存储也会给服务器带来相应的压力,有些数据可以直接存储在客户端,传统的Web技术中会 ...

  6. HTML5学习笔记之客户端存储数据方法:localStorage(),sessionStorage()

    HTML5提供了两种在客户端存储数据的新方法: localStorage():没有时间限制的数据存储 sessionStorage():针对一个session的数据存储 下面的一个例子用localSt ...

  7. HTML学习笔记之三(localstorage的使用)

    localstorage的使用 1.获取对象 var localstroage = window.localStorage; 2.存储值 localstroage.setItem('openid',' ...

  8. HTML5 学习总结(三)——本地存储(localStorage、sessionStorage、WebSqlDataBase、IndexedDB)

    HTML5问世以后,前端加入了一个重要的功能,便是本地存储,本地存储可分为4类: Local Storage:总的存储量有所限制,并不能提供真正的检索API,数据的生命期比窗口或浏览器的生命期长,数据 ...

  9. 客户端相关知识学习(十二)之iOS H5交互Webview实现localStorage数据存储

    前言 最近有一个需求是和在app中前端本地存储相关的,所以恶补了一下相关知识 webView开启支持H5 LocalStorage存储 有些时候我们发现写的本地存储没有起作用,那是因为默认WebVie ...

随机推荐

  1. 使用ADO.NET查询和访问数据库

    使用ADO.NET查询和访问数据库步骤 使用ADO.NET查询和访问数据库 连接数据库操作: 1.       定义连接字符串: String connString = "Data Sour ...

  2. CSS3动画箭头

    <style type="text/css"> .arrow { display: block; width: 20px; height: 20px; position ...

  3. Hibernate学习笔记四 查询

    HQL语法 1.基本语法 String hql = " from com.yyb.domain.Customer ";//完整写法 String hql2 = " fro ...

  4. 十个 PHP 开发者最容易犯的错误

    PHP 语言让 WEB 端程序设计变得简单,这也是它能流行起来的原因.但也是因为它的简单,PHP 也慢慢发展成一个相对复杂的语言,层出不穷的框架,各种语言特性和版本差异都时常让搞的我们头大,不得不浪费 ...

  5. java.lang.system 类源码解读

    通过每块代码进行源码解读,并发现源码使用的技术栈,扩展视野. registerNatives 方法解读 /* register the natives via the static initializ ...

  6. Alpha冲刺——Day1

    一.合照 二.项目燃尽图 三.项目进展 1.界面设计:图形界面部分完成 2.数据库设计:数据库设计基本完成 3.搭建基本服务器框架 github链接 四.明日规划 1.继续完成剩下的图形界面 2.An ...

  7. C语言-第一次作业

    题目6-1 计算两数的和与差 1.设计思路 (1)主要描述题目算法 第一步:看主函数知道程序输入浮点型变量a,b,通过函数计算输出和与差. 第二步:函数部分将a赋值op1,b赋值op2,&su ...

  8. SQL语句取多列的最小值(排除0)

    经常遇到获取数据表中多个列的最小值和最大值,例如: 获取这 4个价格的最小值和最大值: SELECT( SELECT min(minPrice) FROM ( VALUES (IIF(MarketSi ...

  9. js中多维数组转一维

    法一:使用数组map()方法,对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组. var arr = [1,[2,[[3,4],5],6]]; function unid(arr){ v ...

  10. selenium在页面中多个fream的定位

    在做页面元素定位的时候,遇到多fream的页面定位比较困难,需要先去切换到元素所在的fream才能成功定位. 1,切换到目标fream: driver.switch_to.frame('freamID ...