localStorage:域内安全,永久保存。即客户端或浏览器中来自同一域名的所有页面都可访问localStorage的数据,除非用户手动删除数据,否则永久保存,但客户端或浏览器之间的数据相互独立。
seesionStorage:会话控制,短期保存。会话概念与服务器端的session概念相似,短期保存指窗口浏览器或客户端关闭后自动消除数据。
关于localStorage常用的API:
名称 | 作用 |
clear | 清空localStorage上存储的数据 |
getItem(键名) | 读取数据 |
hasOwnProperty | 检查localStorage上是否保存了变量x,需要传入x |
key(i) | 读取第i个数据的名字(键值),下标从0开始计数 |
length | localStorage存储变量的个数 |
removeItem(键名) | 删除某个具体变量 |
setItem(键名,键值) | 存储数据 |
toLocaleString | 将(数组)转为本地字符串 |
valueOf | 获取所有存储的数据 |
API的简单使用:
清空localStorageL
localStorage.clear(); //undefinedlocalStorage; //Storage{length:0}
存储数据:
localStorage.setItem("name","leo"); //存储键名为name,键值为leo的变量localStorage,name="leo"; //等同于上面的命令localStorage //Storage{name:"leo", length:1}
读取数据:
localStorage.getItem("name”); //leo,读取保存在localStorage对象里名为name的变量的值localStorage.name //"leo"localStroage.valueOf();//读取存储在localStorage上的所有数据localStorage.key(0); //读取第一条数据的键值//遍历输出localStorage里存储的键名和键值for(var i=0;i
删除某个变量:
localStorage.removeItem("name");
将JSON存储到localStorage里:
var students ={ leo:{ name:"leo", age:18 }, lucy:{ name:"lucy", age:17 }}students = JSON.stringfy(students); //使用JSON2.js文件,将JSON转为字符串存到变量里console.log(students);localStorage.setItem("students",students); //将变量存到localStorage里var newstudents =localStorage.getItem("students");newstudents = JSON.parse(students); //转为JSONconsole.log(newstudents); // 打印出原先对象