例如我有以下代码:
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"]);
(我在Windows Vista 32位使用Google Chrome v9.0.597.107)
但只有第二部分工作(alert()的输出是“a”)!
第一个警报输出对比“未定义”!
问题是什么?
谢谢.
解决方法
localStorage将值作为字符串存储,因此您需要在序列化序列化对象的过程中将其排序,并将其反序列化.例如:
var data = {'A': 9}; localStorage['screenshots'] = JSON.stringify(data); // Later/elsewhere: var data = JSON.parse(localStorage['screenshots']); // 9 console.log(data.A);