一、本地存储

  在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. KVM之八:快照创建、恢复与删除

    kvm虚拟机默认使用raw格式的镜像格式,性能最好,速度最快,它的缺点就是不支持一些新的功能,如支持镜像,zlib磁盘压缩,AES加密等.要使用镜像功能,磁盘格式必须为qcow2.下面开始kvm虚拟机 ...

  2. i/10和i取最后两位的精妙算法(前方高能)

    i/10; q2 = (i2 * 52429) >>> (16+3); 52429/524288 = 0.10000038146972656, 524288 = 1 << ...

  3. C#委托的使用及案例

    C#委托 1.委托就是把方法当做方法的参数来传递, 做自己不想做的事,是存有对某个方法的引用的一种引用类型变量.引用可在运行时被改变. 所有的委托都派生自System.Delegate类 委托的声明 ...

  4. 构建微服务开发环境1————如何安装JDK

    [内容指引] 下载JDK: Mac系统安装JDK: Mac系统配置环境变量: Windows系统安装JDK: Windows系统配置环境变量. 一.下载JDK 1.访问Oracle官网 http:// ...

  5. [福大软工] W班 软件产品案例分析

    作业要求 https://edu.cnblogs.com/campus/fzu/FZUSoftwareEngineering1715W/homework/1300 评分细则 第一部分 调研,评测 (3 ...

  6. Beta冲刺置顶随笔

    项目名称:城市安全风险管控系统 小组成员: 张梨贤.林静.周静平.黄腾飞 Beta冲刺随笔 Beta预备 Beta冲刺Day1 Beta冲刺Day2 Beta冲刺Day3 Beta冲刺Day4 Bet ...

  7. 卡尔曼滤波法C编程

    float Angle = 0.0;//卡尔曼滤波器的输出值,最优估计的角度 //float Gyro_x = 0.0;//卡尔曼滤波器的输出值,最优估计的角速度 float Q_angle = 0. ...

  8. Something about SeekingJob---Resume简历

    这几天脑子里满满的装的都是offer.offer.offer快到碗里来,但是offer始终不是巧克力,并没那么甜美可口易消化. 找工作刚开始,就遇到了不小的阻力,看到Boss直聘上各种与IT相关的工作 ...

  9. STM32F4系列单片机上使用CUBE配置MBEDTLS实现pem格式公钥导入

    |版权声明:本文为博主原创文章,未经博主允许不得转载. 最近尝试在STM32F4下用MBEDTLS实现了公钥导入(我使用的是ECC加密),整个过程使用起来比较简单. 首先,STM32F4系列CUBE里 ...

  10. WebApi 方法的参数类型总结。

    1:[HttpGet]  ①:get方法之无参数. [HttpGet] public IHttpActionResult GetStudentInfor() { List<StudentMode ...