我試圖將一些數據保存到localStorage
在一個包含對象中。如果我只是使用JavaScript變量,我這樣做:設置一個空的localStorage對象導致「[object Object]」
var obj = obj || {};
obj.fname = 'bob';
console.log(obj.fname) // => "bob"
但是試圖做到這一點在localStorage
window.localStorage.obj = window.localStorage.obj || {}
window.localStorage.obj.fname = 'bob';
console.log(window.localStorage.obj.fname) // => "[object Object]"
爲什麼不會爲了localStorage
同樣的技術工作?有沒有辦法做到這一點?所以你需要
window.localStorage.obj = JSON.stringify({fname: 'bob});
然後閱讀,你需要解析回去,這樣
var obj = JSON.parse(window.localStorage.obj); console.log(obj.fname);
'localStorage'只能存儲字符串設置它在
obj
鍵之前呼籲{fname: 'bob'}
JSON.stringify
,所以你必須序列化對象,例如使用'JSON.stringify'。 – redneb你真的讀過他的評論嗎? @redneb發佈這個答案 –