localStorage学习总结
一、本地存储
在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学习总结的更多相关文章
- Rootkit XSS
0x00 XSS Rootkit介绍 Rootkit概念: 一种特殊的恶意软件 类型: 常见为木马.后门等 特点: 隐蔽 持久控制 谈到XSS,一般都是想到 ...
- (转)HTML5开发学习(2):本地存储之localStorage 、sessionStorage、globalStorage
原文:http://www.cnblogs.com/xumingxiang/archive/2012/03/25/2416386.html HTML5开发学习(2):本地存储之localStorage ...
- JavaScript 学习笔记 - LocalStorage
前言 本文主要介绍本地存储的基本使用,以及它和 Cookie.SessionStorage 的区别. 简单回顾 Cookie 在 HTML5 之前,本地存储数据一般是通过 Cookie 来完成的.我们 ...
- [学习笔记]JS计数器,闭包和localStorage
1.前言 Javascript也算用了挺久了,为了得到一个变量,类似Java的静态变量的功能,我想到了很早以前学习JS的闭包,还有做俄罗斯方块的排行榜用到LocalStorage技术,所以想总结一下, ...
- HTML5 学习笔记(三)——本地存储(LocalStorage、SessionStorage、Web SQL Database)
一.HTML4客户端存储 B/S架构的应用大量的信息存储在服务器端,客户端通过请求响应的方式从服务器获得数据,这样集中存储也会给服务器带来相应的压力,有些数据可以直接存储在客户端,传统的Web技术中会 ...
- HTML5学习笔记之客户端存储数据方法:localStorage(),sessionStorage()
HTML5提供了两种在客户端存储数据的新方法: localStorage():没有时间限制的数据存储 sessionStorage():针对一个session的数据存储 下面的一个例子用localSt ...
- HTML学习笔记之三(localstorage的使用)
localstorage的使用 1.获取对象 var localstroage = window.localStorage; 2.存储值 localstroage.setItem('openid',' ...
- HTML5 学习总结(三)——本地存储(localStorage、sessionStorage、WebSqlDataBase、IndexedDB)
HTML5问世以后,前端加入了一个重要的功能,便是本地存储,本地存储可分为4类: Local Storage:总的存储量有所限制,并不能提供真正的检索API,数据的生命期比窗口或浏览器的生命期长,数据 ...
- 客户端相关知识学习(十二)之iOS H5交互Webview实现localStorage数据存储
前言 最近有一个需求是和在app中前端本地存储相关的,所以恶补了一下相关知识 webView开启支持H5 LocalStorage存储 有些时候我们发现写的本地存储没有起作用,那是因为默认WebVie ...
随机推荐
- 爬虫(BeautifulSoup--select--class的选择)
<div class="item name" title="中央公园"> <a href="/Attraction_Review-g ...
- 实现win的on程序数据更新
枚举是一组描述性的名称定义一组有限的值,不包含方法对可能的值进行约束枚举是一组指定的常数,对可能的值进行约束枚举使用时直观方便.更易于维护 pictureBox控件属性名称 说明image ...
- Git常用命令(二)------ 远程库操作
本文总结自廖雪峰网站. Git支持多种协议,git://使用ssh协议,速度最快,也可使用https等协议. 对远程库操作: 推送: 1.先远程建立一个Repo库,f 2.远程和本地关联: git r ...
- JavaScript(第十七天)【浏览器检测】
由于每个浏览器都具有自己独到的扩展,所以在开发阶段来判断浏览器是一个非常重要的步骤.虽然浏览器开发商在公共接口方面投入了很多精力,努力的去支持最常用的公共功能:但在现实中,浏览器之间的差异,以及不同浏 ...
- JavaScript(第十天)【Function类型】
在ECMAScript中,Function(函数)类型实际上是对象.每个函数都是Function类型的实例,而且都与其他引用类型一样具有属性和方法.由于函数是对象,因此函数名实际上也是一个指向函数对象 ...
- 安装/或更新node和npm
1.安装/或更新node和npm 安装node: node 的官网 nodejs.org 去下载 msi 安装包 更新npm: 使用命令 npm install npm@latest ...
- 第十二条:考虑实现Comparable接口
与前面讨论的方法不同,compareTo()方法并没有在Object类中定义.相反,它是Comparable接口中唯一的方法. 一个类的实例对象要想是可以比较大小的,那么这个类需要实现Comparab ...
- Ubuntu 17.10.1安装, 定制
p { margin-bottom: 0.25cm; line-height: 120% } a:link { } 2018.4.7 Ubuntu 17.10.1安装, 定制, 后续搭建LAMP环境 ...
- Mybatis和Hibernate本质区别和应用场景
Hibernate:是一个标准ORM(对象关系映射)框架.入门门槛较高,不需要程序员写sql语句,sql语句自动生成,对sql语句优化.修改比较困难 应用场景:适用于需求变化不多的中小型项目,比如后台 ...
- ssl双向认证
ssl双向认证 一.背景知识 1.名词解释 ca.key: 根证书的私钥 , ca.crt: 根证书的签名证书 server.key, server.crt client.key, client.cr ...