如果localStorage键值不存在

时间:2013-07-26 12:12:09

标签: html5 local-storage

如果没有localStorage键值,我试图隐藏我的div。

使用下面的行我只能在localStorage键被完全删除时隐藏div但是如果localStorage 键没有任何值则需要执行相同的操作

 window.localStorage.getItem('items') === null

如何执行?

3 个答案:

答案 0 :(得分:6)

您可以使用OR运算符||

添加所需条件
var items = window.localStorage.getItem('items')

if (items === null || items.length === 0)
{
    // items is null, [] or '' (empty string)
}

如果您还必须在某处检查undefined,可以将=== null更改为== null或使用此类额外条件进行扩展

if (items === undefined || items === null || items.length === 0)
{
    // items is undefined, null, [] or '' (empty string)
}

编辑:以下是您可以直接获取数组的方法

var items = JSON.parse(window.localStorage.getItem('items'))

if (items === null || items.length === 0)
{
    // items is null or []
}

答案 1 :(得分:3)

简单地说:

if (!localStorage.nameOfYourLocalStorage) {
    // do the following if the localStorage.nameOfYourLocalStorage does not exist
}

它如何有用的一个例子:

if (!localStorage.nameOfYourLocalStorage) {
    localStorage.nameOfYourLocalStorage = defaultValue;
}

这里脚本将检查localStorage名称是否不存在,如果不存在,它将使用默认值创建它。

如果您希望它在 存在时执行,您可以在if块之后添加 else 以继续,或删除'!< / strong>'来自 if block 条件。

答案 2 :(得分:1)

Storage.prototype.has = function(key) {
  return (key in this && !(key in Storage.prototype));
};