1 var arr=[1,2,3]; 2 localStorage.setItem("temp",arr); //會返回1,2,3 3 console.log(typeof localStorage.getItem("temp"));//string 4 console.log(localStorage.getItem("temp"));//1,2,3
1 var obj = {"a": 1,"b": 2}; 2 typeof localStorage.getItem("temp2");//也會返回String 3 localStorage.setItem("temp2", obj);//可是返回[object Object]
JSON.stringify()
方法能夠將任意的 JavaScript 值序列化成 JSON 字符串1 var obj = {"a": 1,"b": 2}; 2 obj = JSON.stringify(obj); //轉化爲JSON字符串 3 localStorage.setItem("temp2", obj);//返回{"a":1,"b":2}
1 obj=JSON.parse(localStorage.getItem("temp2"));
如下的代碼部分ajax
function PersonInfo ( name, pwd ) { 6 this.name = name; 7 this.pwd = pwd; 8 } 9 10 /* PersonInfo.prototype.send = function ( callback ) { 11 // this 以 ajax 的形式發送到 後臺 12 $.ajax( callback ); 13 } */ 14 15 PersonInfo.prototype.saveToLocalStorage = function () { 16 // 將 this 寫入 本地存儲 17 // 先將之前的數據取出來, 而後在合併到數據中, 再寫一會去 18 var storage = window.localStorage.getItem( 'PersonInfo' ); // 第一次 沒有數據 undefiend 19 // 第二次 "[ { "name": "andim", 'pwd': '123' } ]" 20 21 storage = storage ? JSON.parse( storage ) : []; // 第一次 storage 是 [] 22 // 第二次 storage 是 [ { "name": "andim", 'pwd': '123' } ] 23 24 // 若是本地存儲有數據 就使用 , 若是沒有數據 假設他是一個數組 25 /* if ( storage ) { 26 // 有數據, 數據 是 字符串 27 // 應該將其轉換成 對象 28 // eval( str ) 29 // new Function( 'return ' + str ) () 30 // JSON.parse( str ) 31 storage = JSON.parse( storage ); 32 } else { 33 // 沒有數據 34 storage = []; 35 } 36 */ 37 38 39 storage.push( this ); // 第一次 [ { "name": "andim", 'pwd': '123' } ] 40 // 第二次 [ { "name": "andim", 'pwd': '123' }, { "name": "zhangsan", "pwd": "123456" } ] 41 42 window.localStorage.setItem( 'PersonInfo', JSON.stringify( storage ) ); 43 } 44 45