例如,我有以下代码:
localStorage["screenshots"] = new Array();
localStorage["screenshots"]["a"] = 9;
alert(localStorage["screenshots"]["a"]);
Arr = new Array();
Arr["screenshots"] = new Array();
Arr["screenshots"]["a"] = 9;
alert(Arr["screenshots"]["a"]);
(我在32位Windows Vista上使用Google Chrome v9.0.597.107)
但是只有第二部分有效(alert()的输出为“a”)!
相反,第一个警报输出为“未定义”!
问题是什么?
谢谢。
最佳答案
localStorage将值存储为字符串,因此您需要在导入时对JSON序列化对象,并在导出时反序列化它们。例如:
var data = {'A': 9};
localStorage['screenshots'] = JSON.stringify(data);
// Later/elsewhere:
var data = JSON.parse(localStorage['screenshots']);
// 9
console.log(data.A);