javascript - 为什么 localStorage 不能作为对象访问?

标签 javascript

为什么您需要使用一种方法来访问 localStorage,例如:

localStorage.setItem('name', 'content');

一个允许像这样的API

localStorage.name = 'content';

会更容易使用。还有为什么它只允许字符串?

最佳答案

An API that allowed something like

localStorage.name = 'content';

would be much easier to work with.

确实如此。如果您愿意,可以使用它代替 setItem。来自 the specification :

The supported property names on a Storage object are the keys of each key/value pair currently present in the list associated with the object.

这样做的缺点是它不能在不支持本地网络存储的浏览器上填充,而 setItem/getItem API 可以。

Also how come it only allows strings?

因为这是最简单的事情。简单的 API 实现起来更容易、更快,也更容易测试(请记住,目标是让多个 vendor 快速支持这一点——而且它奏效了)。如果您需要更丰富的东西,您可以使用 JSON 或 XML 或您喜欢的任何其他形式,序列化为字符串或从字符串序列化。就像 HTTP。

关于javascript - 为什么 localStorage 不能作为对象访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31489746/

相关文章:

javascript - 如何使用 Jquery 控制下拉选择选项菜单

javascript - 使用 JavaScript 提取 facebook 页面的源代码

javascript - 如何使用 jQuery 将结果存储到数据库并在事件发生后将结果附加到新的 div 中?

javascript - 你如何在 Javascript 中反转字符串插值

javascript - 带有上下文的 JS 调用堆栈

javascript - 如果值在数组中,则设置属性值

javascript - 如何在 Bootstrap 模式中从 MySQL 打开图像?

JavaScript - 用两根或更多手指滚动

javascript - 即使处理了被拒绝的 promise ,仍收到 `UnhandledPromiseRejectionWarning`

javascript - 检查jquery每个函数中的空对象