为什么关联数组在 localStorage[""] 中不起作用?
例如,我有以下代码:
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”)! 相反,第一个警报输出“未定义”!
问题是什么?
谢谢。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
localStorage 将值存储为字符串,因此您需要在传入时对对象进行 JSON 序列化,并在传出时对其进行反序列化。例如:
localStorage stores values as strings, so you need to JSON serialize your objects on the way in and deserialize them on the way out. For example:
localStorage
对象只能存储字符串。要存储其他类型的数据,必须将它们转换为字符串,并在检索时将它们转换回来。在大多数情况下,您需要使用 JSON 来执行此操作。The
localStorage
object can only store strings. To store other types of data, use must convert them to strings, and convert them back on retrieval. In most cases you would want to use JSON to do this.本地存储仅存储字符串键和字符串值。
来源:MDC。
Local storage only stores string keys and string values.
Source: MDC.