gpt4 book ai didi

javascript - 为什么 localStorage ["..."] 未定义,但 localStorage.getItem ("...") 为空?

转载 作者:数据小太阳 更新时间:2023-10-29 03:51:15 30 4
gpt4 key购买 nike

我上次检查时,以下两行返回 true:

null == localStorage["foo"];
null == localStorage.getItem("foo");

null 替换为 undefined 时同样适用。那么第一个问题是,为什么有两种方式来寻址localStorage?为什么

localStorage["foo"]

返回 undefined

localStorage.getItem("foo")

返回 null?

我在开发 JS 时需要注意这一点吗?

最佳答案

Web Storage Specification requires .getItem() 为未知 key 返回 null

但是请注意,.getItem().setItem() 在 IDL 中专门定义为指定的 gettersetter Storage 接口(interface),因此它们也是访问存储内容的完全支持的方式。

然而,[] 语法更类似于普通的对象和/或数组属性 getter,就像那些为未知属性名称返回 undefined 一样。

使用 [] 语法的原因是它会首先对对象属性进行操作,并且很乐意让您覆盖 的真实属性和方法>localStorage 对象,c.f:

> localStorage['getItem'] = function() { return 0 }
> localStorage.getItem('getItem')
0

关于javascript - 为什么 localStorage ["..."] 未定义,但 localStorage.getItem ("...") 为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29519452/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com