localStorage.getItem('item')和localStorage.item之间有什么区别?在访问localStorage中的项目时,这两种方法之间是否存在性能差异?
像这样访问localStorage中的项目:var i = localStorage.item比getItem函数调用更快吗?
localStorage.getItem('item')和localStorage.item之间有什么区别?在访问localStorage中的项目时,这两种方法之间是否存在性能差异?
像这样访问localStorage中的项目:var i = localStorage.item比getItem函数调用更快吗?
关于 localStorage.item
没有任何相关内容,正确的写法应该是 localStorage.getItem('itemname')
和 localStorage.setItem('itemname' , value)
以及 localStorage.clear()
HTML标准指定了getItem
方法的定义如下:
- 如果
this
的map
[key]不存在,则返回null。- 返回
this
的map
[key]。
在Storage
接口定义下方,有以下内容解释了map
是什么:
一个Storage对象有一个关联的:
map 存储代理映射。
然后是这个:
一个 Storage 对象存储的 支持的属性名称 是在 storage 的 映射 上运行 get the keys 的结果。
这至少证实了使用 getItem
和属性访问两者都归结为访问映射以获取对应于键的值--这意味着对于给定的键,getItem
方法和属性访问确实使用相同的过程来获得相同的值。
这也可以从接口规范中更接近 Storage
的 [非规范性] 注释中得出:
我引用的“HTML标准”可从Mozilla开发者网络关于value = storage.getItem (key)
value = storage[key]返回与给定键关联的当前值;如果给定键不存在,则返回 null。
Storage
类等其他页面链接中找到,本身可以通过谷歌搜索 localStorage
来发现。建议您将 Mozilla 开发者网络站点添加为收藏夹并将其作为搜索引擎,以便快速发现您使用的 Web API 上的相关重要信息。但不要把 MDN 当成理所当然--如果有疑问或习惯性地寻找相关标准,看看是否可以阅读实际规范以消除所有疑虑。
getItem
,setItem
和其他存在于localStorage上的键,则没有区别。 - Andrei