localStorage 和 sessionStorage
户端存储数据的两个对象为:
localStorage - 用于长久保存整个网站的数据,保存的数据没有过期时间,直到手动去除。
sessionStorage - 用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据。
缺点:
localStorage的局限
1、浏览器的大小不统一,并且在IE8以上的IE版本才支持localStorage这个属性
请在这里输入引用内容
2、目前所有的浏览器中都会把localStorage的值类型限定为string类型,这个在对我们日常比较常见的JSON对象类型需要一些转换
请在这里输入引用内容
3、localStorage在浏览器的隐私模式下面是不可读取的
请在这里输入引用内容
4、localStorage本质上是对字符串的读取,如果存储内容多的话会消耗内存空间,会导致页面变卡
请在这里输入引用内容
5、localStorage不能被爬虫抓取到
———————————————————————————————————————
在使用 web 存储前,应检查浏览器是否支持 localStorage 和sessionStorage:
让我看一下代码
if(!window.localStorage ){
console.log("你的浏览器不支持这个属性")
}else{
console.log("你的浏览器指出这个属性");
}
localStorage 对象
保存数据:localStorage.setItem(key,value); 读取数据:localStorage.getItem(key); 删除单个数据:localStorage.removeItem(key); 删除所有数据:localStorage.clear(); 得到某个索引的key:localStorage.key(index);
看这个实例
if (!window.localStorage){
console.log("您的浏览器不支持")
}else{
console.log("您的浏览器支持");
//存储数据
let data = window.localStorage;
data.setItem("name","徐世龙");
data.setItem("age","12");
console.log(data);
// 读取数据
let dataA = data.getItem("name");
let dataB =data.getItem("age");
console.log("我的名字:"+dataA);
console.log("我的年龄:"+dataB);
// 删除数据
if(dataA != null){
localStorage.removeItem("name");
alert("数据删除了");
}else{
alert("hello"+dataA);
}
//清除所有数据
localStorage.clear();
// 写一条json数据
let json = {"name":"xsl","age":"12"};
console.log(json);
// 转换成json
let json1 = JSON.stringify(json);
console.log(json1);
//存储json数据
data.setItem("aa",json1);
// 读取数据
let a = data.getItem("aa");
console.log(a);
let a1 =JSON.parse(a);
console.log(a1);
console.log(typeof a1);
}
京公网安备 11010502036488号