LocalStorage用法
LocalStorage用法
LocalStorage用法一、什么是LocalStorage
1、在HTML5中,新加入了一个localStorage特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题(cookie中每条cookie的存储空间为4k),localStorage中一般浏览器支持的是5M大小,这个在不同的浏览器中localStorage会有所不同。
2、localStorage的使用也是遵循同源策略的,所以不同的网站直接是不能共用相同的localStorage
二、LocalStorage优缺点
LocalStorage优点
1、localStorage拓展了cookie的4K限制
2、不会随http请求一起发送
3、localstorage用于持久化的本地存储,除非主动删除数据,否则数据是没有时间限制
LocalStorage缺点
1、浏览器的大小不统一,并且在IE8以上的IE版本才支持localStorage这个属性
2、目前所有的浏览器中都会把localStorage的值类型限定为string类型,这个在对我们日常比较常见的JSON对象类型需要一些转换
3、localStorage在浏览器的隐私模式下面是不可读取的
4、localStorage本质上是对字符串的读取,如果存储内容多的话会消耗内存空间,会导致页面变卡
5、localStorage不能被爬虫抓取到
三、LocalStorage常用的方法
名称 | 作用 |
---|---|
clear | 清空localStorage上存储的数据 |
getItem | 读取数据 |
hasOwnProperty | 检查localStorage上是否保存了变量x,需要传入x |
key | 读取第i个数据的名字或称为键值(从0开始计数) |
length | localStorage存储变量的个数 |
propertyIsEnumerable | 用来检测属性是否属于某个对象的 |
removeItem | 删除某个具体变量 |
setItem | 存储数据 |
toLocaleString | 将(数组)转为本地字符串 |
valueOf | 获取所有存储的数据 |
四、在使用localStorage的时候,我们需要判断浏览器是否支持localStorage这个属性
if(!window.localStorage){
alert("浏览器支持localstorage");
return false;
}else{
//主逻辑业务
}
五、LocalStorage使用实例
1、localStorage的写入
if(!window.localStorage){
alert("浏览器支持localstorage");
return false;
}else{
var storage=window.localStorage;
//写入a字段,方式一
storage["a"]=1;
//写入b字段,方式二
storage.a=1;
//写入c字段,方式三
storage.setItem("c",3);
console.log(typeof storage["a"]);
console.log(typeof storage["b"]);
console.log(typeof storage["c"]);
}
2、localStorage的读取
if(!window.localStorage){
alert("浏览器支持localstorage");
}else{
var storage=window.localStorage;
//写入a字段
storage["a"]=1;
//写入b字段
storage.a=1;
//写入c字段
storage.setItem("c",3);
console.log(typeof storage["a"]);
console.log(typeof storage["b"]);
console.log(typeof storage["c"]);
//第一种方法读取
var a=storage.a;
console.log(a);
//第二种方法读取
var b=storage["b"];
console.log(b);
//第三种方法读取
var c=storage.getItem("c");
console.log(c);
}
localStorage.getItem("name") //caibin,读取保存在localStorage对象里名为name的变量的值
localStorage.name // "caibin"
localStorage.valueOf() //读取存储在localStorage上的所有数据
localStorage.key(0) // 读取第一条数据的变量名(键值)
//遍历并输出localStorage里存储的名字和值
for(var i=0; i<localStorage.length;i++){
console.log('localStorage里存储的第'+i+'条数据的名字为:'+localStorage.key(i)+',值为:'+localStorage.getItem(localStorage.key(i)));
}
3、localStorage的修改
if(!window.localStorage){
alert("浏览器支持localstorage");
}else{
var storage=window.localStorage;
//写入a字段
storage["a"]=1;
//写入b字段
storage.b=1;
//写入c字段
storage.setItem("c",3);
console.log(storage.a);
/*修改localStorage*/
storage.a=4;
console.log(storage.a);
}
4、检查localStorage里是否保存某个变量
localStorage.hasOwnProperty('name') // true
localStorage.hasOwnProperty('age') // false
5、清空localStorage
var storage=window.localStorage;
storage.a=1;
storage.setItem("c",3);
console.log(storage);
storage.clear();//清空localStorage
console.log(storage);
6、删除某个变量
var storage=window.localStorage;
storage.a=1;
storage.setItem("c",3);
console.log(storage);
storage.removeItem("a");//删除
console.log(storage.a);
7、将数组转为本地字符串
var arr = ['aa','bb','cc']; // ["aa","bb","cc"]
localStorage.arr = arr //["aa","bb","cc"]
localStorage.arr.toLocaleString(); // "aa,bb,cc"
8、将JSON存储到localStorage里
var students = {
xiaomin: {
name: "xiaoming",
grade: 1
},
teemo: {
name: "teemo",
grade: 3
}
}
students = JSON.stringify(students); //将JSON转为字符串存到变量里
console.log(students);
localStorage.setItem("students",students);//将变量存到localStorage里
var newStudents = localStorage.getItem("students");
newStudents = JSON.parse(students); //转为JSON
console.log(newStudents); // 打印出原先对象
- h5人脸扫描代码(Html5调用手机摄像头并实现人脸识别的实现)
- html5 canvas 性能(基于html5 canvas做批改作业的小插件)
- html5新增特性(总结html5自定义属性有哪些)
- Html5新增的标签
- html5+css样式代码(详解HTML5中CSS外观属性)
- html5关闭页面代码(HTML5页面无缝闪开的问题及解决方案)
- HTML5 audio标签
- html5游戏新手引导开发(使用数据结构给女朋友写个Html5走迷宫游戏)
- html5图片上下滚动(HTML5 图片悬停放大的实现代码示例)
- html5的新特性
- html5拖动效果怎么写(Html5 滚动穿透的方法)
- vue加载html5动画(vue实现旋转木马动画)
- ios如何播放html5(Html5移动端适配IphoneX等机型的方法)
- 只用html5简单动画代码(HTML5 3D书本翻页动画的实现示例)
- html5div例子(html5 外链式实现加减乘除的代码)
- html5中canvas标签(html5 canvas绘制网络字体的常用方法)
- 盘古开天地 他创造了世界,谁创造了盘古 盘古是伏羲吗(盘古开天地他创造了世界)
- 关于队徽 你了解这些么 二(关于队徽你了解这些么)
- 冬天来了手脚冰凉 真不是因为上辈子你是折翼的天使(冬天来了手脚冰凉)
- 0 1 岁婴儿最强作息指南,照着做养出天使宝宝(01岁婴儿最强作息指南)
- 沪上这16所高校 萌新 礼包开箱 哪一款让你心动(沪上这16所高校萌新)
- 她救了被绑架的他,而这一切竟是一场阴谋...(她救了被绑架的他)
热门推荐
- nginx学习需要哪些知识(一篇文章搞懂Nginx是什么,能干什么)
- docker部署golang(如何使用Docker部署Go Web应用的实现)
- python编程中冒号的用法(浅谈python中get pass用法)
- kubernetes 虚拟机安装(VirtualBox+Ubuntu16搭建Kubernetes集群的实现)
- python零基础实战项目(十个Python练手的实战项目,学会这些Python就基本没问题了推荐)
- 云服务器的巧妙用法(云服务器的技术是如何实现的?)
- jenkins回滚docker容器(关于docker部署的jenkins跑git上的程序的问题)
- flash一直在最上方,设置z-index无效
- 阿里云怎么注册用户(怎么注册阿里云帐号)
- dedecms后台内链如何制作(DedeCMS系统TAG标签和分页伪静态设置教程的实现)