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 ...
随机推荐
- PHP对大小写敏感问题
1. 变量名区分大小写 1 <?php 2 $abc = 'abcd'; 3 echo $abc; //输出 'abcd' 4 echo $aBc; //无输出 5 echo $ABC; //无 ...
- Mysql中一级缓存二级缓存区别
一级缓存: 也称本地缓存,sqlSession级别的缓存.一级缓存是一直开启的:与数据库同一次会话期间查询到的数据会放在本地缓存中. 如果需要获取相同的数据,直接从缓存中拿,不会再查数据库. 一级缓存 ...
- C语言博客作业—指针
一.PTA实验作业 题目1: 求出数组中最大数和次最大数 1. 本题PTA提交列表 2. 设计思路 定义max表示范围数组中的最大数(初值设为a[0]),z表示找到的元素在数组中的位置: 定义指针*b ...
- 201621123060 《Java程序设计》第五周学习总结
1. 本周学习总结 1.1 写出你认为本周学习中比较重要的知识点关键词 继承.多态.抽象类与接口 1.2 尝试使用思维导图将这些关键词组织起来.注:思维导图一般不需要出现过多的字. 2. 书面作业 作 ...
- Welcome to Django!
Welcome to Django! 实验简介 Django是一个可以使Web开发工作更加高效愉快的Web开发框架.Django可以让你用最小的代价构建和维护更高质量的Web应用程序. 从好的方面来看 ...
- Python randrange() 函数
Python randrange() 函数 Python 数字 描述 randrange() 方法返回指定递增基数集合中的一个随机数,基数缺省值为1. 语法 以下是 randrange() 方法的语 ...
- python 继承基础
class annamal: def chi(self): print(self.name + '吃') def he(self): print(self.name + '喝') class dog( ...
- vue 在已有的购买列表中(数据库返回的数据)修改商品数量
连续加班一个月 连续通宵三天 到最后还是少了一个功能 心碎 简介:一个生成好的商品列表(数据库返回的数据) 首先拿到我们需要渲染的数组 在data中定义 我是在测试的时候 直接写了两条数据 下面开始 ...
- JAVA_SE基础——38.单例设计模式
本文继续介绍23种设计模式系列之单例模式. 我们在javaSE的基础学习中,会讲到:单例设计模式.模板设计模式.装饰者设计模式.观察者设计模式.工厂设计模式 我以后随着水平的提高,我会专门开个分类写设 ...
- 关于 Ubuntu Linux 16.04中文版的 root 权限及桌面登录问题
新接触 Ubuntu 的朋友大多会因为安装中没有提示设置 root 密码而不太清楚是什么原因. 起初 Ubuntu 团队希望安装尽可能的简单. 不使用 root , 在安装期间的两个用户交互步骤可以省 ...