1.在HTML5中,本地存儲是一個window的屬性,包括localStorage和sessionStorage,前者是一直存在本地的,后者是伴隨着session,窗口一旦關閉就消失了。二者用法完全相同
2.存儲數據的方法就是直接給window.localStorage添加一個屬性,localStorage里面的數據是以鍵值對的方式存在的,可以使用getItem()和setItem()方法設置和獲取數據.
3. 向localStorage里存放多次存放相同對象名的數據時,需要先從localStorage里獲取一個屬性,如果該屬性的值為null,則創建一個數組,存在的話,就把取出來的數據用JSON.parse()方法先轉換成JSON,然后把數據存進去,存完后,再將取出來的數組,用JSON.stringify()方法將其轉換成字符串形式存入.
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本地存儲只能存字符串,任何格式存儲的時候都會被自動轉為字符串,所以讀取的時候,需要自己進行類型的轉換。
5.為什么要進行類型轉換呢,localstorage本身不就會轉換嗎?是的,但是它是用toSting()強制轉換的,轉換后的是沒有意義的字符串,或者說不是我們想要的,所以,為了數據取出來后能夠操作,我們需要使用特殊的方法進行轉換.下面是兩者的區別
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對象.