查询:
HTML5 的 localStorage 和 sessionStorage 可以高效存储原始 JavaScript 类型和数组。然而,当尝试存储复杂的 JavaScript 对象时,它们似乎会无意中转换为字符串。了解此行为背后的原因并探索潜在的解决方法至关重要。
响应:
根据 HTML5 Web 存储规范,存储功能主要设计用于处理密钥/值对,键和值都是字符串。因此,复杂的对象无法直接存储。
解决方法:
要规避此限制,您可以通过将对象转换为字符串来采用简单的解决方法:
<br>// 将对象存储为string<br>localStorage.setItem('testObject', JSON.stringify(testObject));<p>// 检索存储的对象<br>var returnedObject = localStorage.getItem('testObject');<br> </p>
检索存储的值时,可以将其转换回原始值object:
<br>// 重建对象<br>varreconstructedObject = JSON.parse(retrievedObject);<br>
这种方法允许您可以有效地存储和检索复杂的对象。
以上是如何在 HTML5 本地和会话存储中存储和检索复杂的 JavaScript 对象?的详细内容。更多信息请关注PHP中文网其他相关文章!