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); // 打印出原先对象
- html5视频播放(使用HTML5加载音频和视频的实现代码)
- html5socket源码(五分钟学会HTML5的WebSocket协议)
- html5浏览界面怎么设置(HTML5textarea高度自适应的两种方案)
- html5关闭页面代码(HTML5页面无缝闪开的问题及解决方案)
- h5人脸扫描代码(Html5调用手机摄像头并实现人脸识别的实现)
- html5发送文字特效(HTML5调用手机发短信和打电话功能)
- html5基本标签详解(HTML5 通过Vedio标签实现视频循环播放的示例代码)
- html5 web技术(html5视频常用API接口的实战示例)
- html5单选项怎么调选项间距(html5实现输入框fixed定位在屏幕最底部兼容性)
- html5弹出窗口(Html5页面上如何禁止手机虚拟键盘弹出)
- html5 canvas绘图(使用html5 canvas绘制圆环动效)
- html5基本代码文字颜色(html5默认气泡修改的代码详解)
- h5实现弹出悬浮窗(Html5监听手机摇一摇事件的实现)
- html5定位地理位置(html5 制作地图当前定位箭头的方法示例)
- html5 canvas 性能(基于html5 canvas做批改作业的小插件)
- 微信html5页面怎么制作(HTML5中外部浏览器唤起微信分享功能的代码)
- 曾孙和重孙一样吗(曾孙和重孙意思一样吗)
- 野生蕨菜干怎么处理才能吃(野生蕨菜干的处理方法)
- 哪部小说的女主角是江年(小说剧情简介)
- 微信每天限额1万怎么解除(微信每天限额1万解除方法)
- 手机值机后还需要取登机牌吗(简介手机值机后还需要取登机牌吗)
- 虚拟号码是什么意思(虚拟号码的解释)
热门推荐
- sql server设置标识列(Sql Server 如何去掉内容里面的Html标签)
- mysql连接查询原理(MySQL连接查询你真的学会了吗?)
- 免备案云服务器快吗?使用海外云服务器好不好(免备案云服务器快吗?使用海外云服务器好不好)
- html5canvas怎么改扇形起始角(HTML5 Canvas实现放大镜效果示例)
- python获取网关ip地址(python实现扫描局域网指定网段ip的方法)
- virtual和abstract的区别
- centos安装mysql8.0教程(Centos7 安装 Mysql8教程)
- dedecms默认水印(DEDECMS显示英文日期时间的方法)
- 怎么样才知道云服务器够不够用(新手应该怎么选择云服务器才能避免被坑?)
- sftp和vsftp有什么区别(浅谈 FTP、FTPS 与 SFTP的区别)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9