1.在HTML5中,本地存储是一个window的属性,包括localStorage和sessionStorage,前者是一直存在本地的,后者是伴随着session,窗口一旦关闭就消失了。两者用法彻底相同json
2.存储数据的方法就是直接给window.localStorage添加一个属性,localStorage里面的数据是以键值对的方式存在的,可使用getItem()和setItem()方法设置和获取数据.数组
3. 向localStorage里存放屡次存放相同对象名的数据时,须要先从localStorage里获取一个属性,若是该属性的值为null,则建立一个数组,存在的话,就把取出来的数据用JSON.parse()方法先转换成JSON,而后把数据存进去,存完后,再将取出来的数组,用JSON.stringify()方法将其转换成字符串形式存入.session
var student = { name:"lily", age:20 } var students = localStorage.students; if(!students){ students = []; }else{ students = JSON.parse(students); } students.push(student); localStorage.players = JSON.stringify(players);
4.HTML5本地存储只能存字符串,任何格式存储的时候都会被自动转为字符串,因此读取的时候,须要本身进行类型的转换。 spa
5.为何要进行类型转换呢,localstorage自己不就会转换吗?是的,可是它是用toSting()强制转换的,转换后的是没有意义的字符串,或者说不是咱们想要的,因此,为了数据取出来后可以操做,咱们须要使用特殊的方法进行转换.下面是二者的区别localstorage
var student = { name:"haha", age:20 }; console.log(student.toString());//[object Object] console.log(JSON.stringify(student));//'{"name":"haha","age":20}'有效的json字符串.
6.JSON.parse()是将一个**有效的字符串**解析成json对象.code