为什么 window.localStorage 将其值转换为字符串?



你们中的许多人可能都知道,你可以为window.localStorage分配许多函数或对象,数据将自动转换为字符串。我已经看到了几个有助于解决这个问题的答案,但我的问题是为什么 localStorage 是这样构建的?这是安全问题吗?我想知道这背后的目的/设计/哲学是什么。

正如其他人所提到的,很大程度上是因为它的规范方式。曾经讨论过值是结构化克隆算法支持的任何数据类型。但是,由于浏览器兼容性问题(特别是考虑到规范首次初始化的时间段(,对返回结构化克隆的支持太多了。

一般来说,如果你真的需要某种形式的键值存储,那么你将想要转移到IndexedDB方面。存储实际上只用于不需要经常对其进行任何转换或操作的小块信息。

我希望这能澄清一点。 :)

最新更新