【问题标题】:LocalStorage - check if key exists [duplicate]LocalStorage - 检查密钥是否存在[重复]
【发布时间】:2017-12-26 10:03:13
【问题描述】:

两者有什么区别:

if (localStorage.regionCode) { }

if (localStorage.getItem('regionCode') !== null) { }

【问题讨论】:

  • 您是要输入=== null 还是!== null
  • @ajc2000 是的,我的错……我更新了问题
  • @Surreal 实际上会的。
  • 太棒了,我得开始做空手了
  • 如果regionCode包含一个空字符串,第一个也会“说”没有regionCode

标签: javascript


【解决方案1】:

在 JavaScript 中,你有 truthyfalsey。这意味着条件语句中的每个条件都转换为布尔值,并表示 truefalse

解释

如果localStorage.regionCode 是一个空字符串if(localStorage.regionCode) 将转换为false 否则true


更多细节你可以阅读blog post关于真假的内容

【讨论】:

【解决方案2】:

在第一种情况下,它检查是否存在名称为regionCode 的任何存储项。在这种情况下,如果在 localStorage 中没有名称为 regionCode 的键,它将是 undefined;在第二种情况下,它正在检查 localStorageregionCode 的值,这将返回 null。

查看列出的信息here

【讨论】:

    【解决方案3】:

    如果仅存在 regionCode 属性,则始终满足!== null 条件。

    localStorage.regionCode 的情况类似,略有不同,如果regionCode 为空字符串,则不会通过。

    【讨论】:

      猜你喜欢
      • 2013-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-07
      • 2014-09-14
      • 1970-01-01
      • 2011-06-05
      相关资源
      最近更新 更多