【发布时间】:2015-04-08 15:51:46
【问题描述】:
上次查看,下面两行返回true:
null == localStorage["foo"];
null == localStorage.getItem("foo");
将null 替换为undefined 时同样适用。
那么第一个问题是,为什么有两种方式来寻址localStorage呢?为什么会这样
localStorage["foo"]
同时返回undefined
localStorage.getItem("foo")
返回null?
在开发 JS 时需要注意这些吗?
【问题讨论】:
-
啊,Javascript的乐趣。
-
@RobertHarvey 语言很好,是实现变体杀死了它:(
-
当然,无论它返回
undefined还是null,您仍然需要处理它。为什么不同时检查两者?另见programmers.stackexchange.com/a/268125 -
@RobertHarvey,如有必要,我会这样做,但我想避免不必要的开销,这就是为什么像这样的问题困扰我的原因。如果再次检查
null时未定义的东西总是返回true,我为什么要(另外)检查它是否未定义? -
请参阅下面的 muchweb 答案。另外,请检查我在上面发布的链接;使用
==和null还会检查undefined。
标签: javascript null local-storage undefined