一、本地存储

  在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. grep -vFf 比较2个文件差异

    grep -vFf 1.txt 2.txt   打印出2.txt中与1.txt有差异的数据. #cat .txt 192.168.0.1 192.168.0.2 192.168.0.3 #cat .t ...

  2. Oracle中死锁与等待

    在数据库中有两种基本的锁类型:排它锁(Exclusive Locks,即X锁)和共享锁(即S锁).当数据对象被加上排它锁时,其他的事务不能不  能对它读取和修改.加了共享锁的数据对象可以被其他事务读取 ...

  3. java基础笔记(10)----集合之set集合

    set接口特点: 存储任意Object元素 无序,无下标,元素内容不可以重 方法: 继承父接口Collection中的所有方法 遍历: 有两种遍历方法,foreach遍历和迭代遍历 forEach遍历 ...

  4. JavaScript(简介)【Javascript历史】

    学习一门知识应该了解其背景,很多人认为会用就行,起初我也是这么认为的,但后来才知道对起源的了解也很必要,从事javascript开发5年,今天开始总结一些笔记,分享下. 一.什么是JavaScript ...

  5. Git使用方法2.0

    ## Git来源: 最早开始是由Ruby程序员们发起的.Ruby是日本的家伙搞出来的,日本有个代码托管网站叫heroku,当时用这个的人比较多,现在这个网站还能打开,网址是www.heroku.com ...

  6. 1013团队Beta冲刺day2

    项目进展 李明皇 今天解决的进度 优化了信息详情页的布局:日期显示,添加举报按钮等 优化了程序的数据传递逻辑 明天安排 程序运行逻辑的完善 林翔 今天解决的进度 实现微信端消息发布的插入数据库 明天安 ...

  7. Windows下编译SDL

    Windows下编译SDL的理由我就不多说了,无论用VS来编译或调试SDL库都是很方便的.而且SDL源代码中也包含了VC工程,你所要做的只是解压VC工程,进行适当的配置,然后编译.调试. 编译SDL大 ...

  8. Twisted UDP编程技术

    实战演练1:普通UDP UDP是一种无连接对等通信协议,没有服务器和客户端概念,通信的任何一方均可通过通信原语直接和其他方通信 1.相对于TCP,UDP编程只需定义DatagramProtocol子类 ...

  9. django三种文件下载方式

    一.概述 在实际的项目中很多时候需要用到下载功能,如导excel.pdf或者文件下载,当然你可以使用web服务自己搭建可以用于下载的资源服务器,如nginx,这里我们主要介绍django中的文件下载. ...

  10. Python之旅.第四章.模块与包 4.02

    一.模块的使用之import 1 什么是模块?模块就一系统功能的集合体,在python中,一个py文件就是一个模块,比如module.py,其中模块名module2 使用模块2.1 import 导入 ...