在HTML5中,加入了一个localStorage特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题(cookie中每条cookie的内存空间为4K),localstorage中一般浏览器支持的是5M大小,这个在不同的浏览器中localStorage会有所不同。它只能存储字符串格式的数据,所以最好在每次存储时把数据转换成json格式,取出的时候再转换回来。
localStorage主要有以下几种方法:
- setItem(“key”,“value”):存储名字为key的一个值value,如果key存在,就更新value;
//存数据
localStorage.setItem("name","小王");
- getItem(“key”):获取名称为key的值,如果key不存在则返回null;
//取数据 name="小王"
name = localStorage.getItem("name");
- removeItem(“key”):删除名称为“key”的信息,这个key所对应的value也会全部被删除;
localStorage.removeItem("name");
- clear():清空localstorage中的所有信息;
- key():获取所有的key;
- valueOf():获取所有的值;
- hasOwnProperty():判断是否具有某个key,存在则返回true,不存在返回false。
注意:
localStorage中存入JSON对象,需先转换成JSON字符串再写入,在读取时再转换成JSON对象(否则会报错)
let userInfoObj = {
name: "mingzi",
age: "20",
}
//将JSON对象转换为String,如果不转,在存入localStorage后,读取出来转换json对象会报错。
localStorage.setItem("userInfo",JSON.stringify(userInfoObj ))
//将JSON字符串转换成为JSON对象输出
let userInfo = JSON.parse(localStorage.getItem("userInfo"))